首页 > 解决方案 > 用 Python 中另一个 JSON 文件中的相应值替换 JSON 值

问题描述

我正在尝试用另一个 JSON 文件中的值替换 JSON 值。例如,我有这个 JSON 文件:

{'data': [{'street': '1'}, {'street': '2'}, {'street': '3'}]}

现在我想用这个 JSON 文件的相应值替换 'street' 值:

{'data': [{'1': 'Example Street 1'}, {'2': 'Example Street 2'}, {'3': 'Example Street 3'}]}

所以结果应该是:

{'data': [{'street': 'Example Street 1'}, {'street': 'Example Street 2'}, {'street': 'Example Street 3'}]}

我正在尝试学习python,所以我不知道如何解决这个问题,我在互联网上找不到解决方案。如果有人知道如何解决这个问题,请帮助我。

标签: pythonjson

解决方案


我们以 dictA 数据字段(它是一个列表)进行迭代。对于列表中的每个元素我们获取元素的值,因为该元素是一个字典,并检查它是否在 dataB 'data' 字段列表元素中,然后我们更改 dataA['street'] 字段

dictA ={'data': [{'street': '1'}, {'street': '2'}, {'street': '3'}]}
dictB = {'data': [{'1': 'Example Street 1'}, {'2': 'Example Street 2'}, {'3': 'Example Street 3'}]}


for elementA in dictA['data']:
  for elementB in dictB['data']:
    if elementA['street'] in elementB:
       elementA['street'] = elementB[elementA['street']]
print(dictA)

使用 zip 函数,同时迭代两个列表

dictA ={'data': [{'street': '1'}, {'street': '2'}, {'street': '3'}]}
dictB = {'data': [{'1': 'Example Street 1'}, {'2': 'Example Street 2'}, {'3': 'Example Street 3'}]}

for elementA,elementB in zip(dictA['data'], dictB['data']):
    elementA['street'] =elementB[elementA['street']]
print(dictA)


推荐阅读