我想更新json文件中的密钥名,文件中的对象如下所示:
[{"marka": "تويوتا" , "tag" : "MANF"},
{"marka": "شيفروليه" , "tag" : "MANF"},
{"marka": "نيسان" , "tag" : "MANF"}]
我想将键名“marka”更改为“entity”,因此它将是这样的:
[{"entity": "تويوتا" , "tag" : "MANF"},
{"entity": "شيفروليه" , "tag" : "MANF"},
{"entity": "نيسان" , "tag" : "MANF"}]
这是我尝试过的代码,但它给出了一个错误:
import json
with open("haraj_marka_arabic.json", "r") as jsonFile:
data = json.load(jsonFile)
for d in data:
d["entity"] = d.pop("marka")
with open("haraj_marka_arabic.json", "w") as jsonFile:
json.dump(data, jsonFile)
错误是:
File "marka.py", line 8, in d["entity"] = d.pop("marka") KeyError: 'marka'
我认为您可能需要一个循环:
pop将删除该元素
输出:
像这样的东西会有用的。我们将json读入一个对象。迭代元素列表,通过从字典中弹出键并将其分配给实体键,将键从“marka”更改为“entity”
您可以创建字典键的映射:
现在使用字典将旧键映射到新键:
语法
map_this.get(k, k)
如果存在,则返回map_this[k]
,否则返回k
本身从技术上讲,这将创建一个新的词典,而不是修改旧词典
相关问题 更多 >
编程相关推荐