python - 用 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,所以我不知道如何解决这个问题,我在互联网上找不到解决方案。如果有人知道如何解决这个问题,请帮助我。
解决方案
我们以 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)
推荐阅读
- windows - PDB 文件是否包含数据结构?
- python - Selenium 选择有几个孩子都命名相同的孩子
- javascript - 在 HTML 的多个表单中使用选定的选项
- java - 在对数组进行任何操作之前更新静态二维数组的大小
- algorithm - 逆适应(遗传算法)
- cypress - Cypress:如何防止测试运行程序在 cy.visit() 处重新加载?
- performance - Matlab - 使用 afterEach 进行并行文件搜索
- java - com.mysql.cj.jdbc.exceptions.CommunicationsException: 运行 jar 文件时通信链接失败
- python - 无法使用 Selenium 获取元素的文本
- c++ - for(int i=0,u,v; ...) 是什么意思?