【问题标题】:Comparing two files of jsons and resulting json difference比较两个 jsons 文件和产生的 json 差异
【发布时间】:2013-07-22 01:03:15
【问题描述】:

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

【问题讨论】:

标签: python json file comparison


【解决方案1】:

两种可能的方式:

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

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

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

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

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

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

【讨论】:

  • 谢谢。但是我有数千行,jsons的内部值不需要在两个文件中的顺序相同。
【解决方案2】:

这似乎是一个不错的开始: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}}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多