【发布时间】:2014-11-07 00:08:24
【问题描述】:
我目前正在使用 Python 2.7 解析两个 JSON 文件。目标是检查 file1 中的每个 JSON 对象与 file2 上的每个 JSON 对象,并使用它们的“名称”键进行比较。如果匹配,则用 obj1 数据覆盖 obj2。我现在的伪代码(如下)将在 O(n^4) 时间内运行。这太慢了,所以如果有人能指出一个更快的方法,我将不胜感激。
for obj1 in file1:
for key1, value1 in obj1.iteritems():
if key1 == 'name':
for obj2 in file2:
for key2, value2 in obj2.iteritems():
if key2 == 'name':
if value1 == value2:
overwrite obj2 using obj1 data
【问题讨论】:
-
你的意思是覆盖值还是添加值?
-
覆盖,编辑
-
为什么不直接使用
obj1["name"]等.. -
请注意,如果您所寻找的只是一键,则无需遍历
obj1和obj2。只需执行obj1['name']和obj2['name']并忽略其他键。
标签: python json parsing python-2.7