5

我正在尝试比较两个文件,每一行都是 JSON 格式。我需要比较两个文件之间的每一行并返回差异。由于文件太大,我无法读取和比较每一行。请建议我一些优化的方法。

4

2 回答 2

3

两种可能的方式:

  1. 使用 Josh 发表的评论中提到的技术。
  2. 使用这里提到的技术: how to compare 2 json in python

鉴于您有一个大文件,最好使用第 1 点中描述的 difflib 技术。

根据对我以下答案的回复进行编辑

经过一些研究,似乎处理大数据有效负载的最佳方法是以流式方式处理此有效负载。通过这种方式,我们可以确保快速处理数据,同时牢记软件的内存使用和性能。

请参阅讨论使用 Python 流式处理 JSON 数据对象的链接同样看一下ijson - 这是 Python 中基于迭代器的 JSON 解析/处理库。

希望这可以帮助您确定一个合适的库来解决您的用例

于 2013-07-23T05:58:16.010 回答
3

这似乎是一个相当稳固的开始: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}}

我还将在当前项目中进行尝试,我将尝试在进行过程中保持更新和编辑。

于 2018-10-24T15:05:24.227 回答