我正在尝试比较两个文件,每一行都是JSON格式。我需要比较两个文件之间的每一行,并且应该返回差异。因为文件太大而且我无法读取和比较每一行。请建议我这样做的一些优化方法。
答案 0 :(得分:3)
两种可能的方式:
鉴于您有一个大文件,最好使用第1点中描述的difflib技术。
根据对以下回答的回复进行修改:
经过一些研究,似乎处理大数据有效负载的最佳方法是以流方式处理此有效负载。通过这种方式,我们可以确保快速处理数据,同时牢记软件的内存使用情况和性能。
请参阅使用Python讨论Streaming JSON数据对象的this链接。类似地看一下ijson - 这是python中基于迭代器的JSON解析/处理库。
希望这有助于您找到一个能够解决您的用例的合适的库
答案 1 :(得分:1)
这似乎是一个不错的开始:https://github.com/ZoomerAnalytics/jsondiff
>>> pip install jsondiff
>>> from jsondiff import diff
>>> diff({'a': 1, 'b': 2}, {'b': 3, 'c': 4}, syntax='symmetric')
{insert: {'c': 4}, 'b': [2, 3], delete: {'a': 1}}
我还将在当前项目中进行尝试,我将在进行过程中尝试维护更新和编辑。