我不熟悉python和json文件,我有一个json文件,它只有一个属性,我想通过添加一个新属性来更新文件中的每个对象,我的json文件如下所示:
[
{"marka": "تويوتا"},
{"marka": "شيفروليه"},
{"marka": "نيسان"}
]
我希望它是这样的:
[
{"marka": "تويوتا" , "tag" : "MANF"},
{"marka": "شيفروليه" , "tag" : "MANF"},
{"marka": "نيسان" , "tag" : "MANF"}
]
我尝试了此代码,但它给了我一个错误:
with open("haraj_marka_arabic.json", "r") as jsonFile:
data = json.load(jsonFile)
tmp = data["tag"]
data["tag"] = "MANF"
with open("haraj_marka_arabic.json", "w") as jsonFile:
json.dump(data, jsonFile)
我的错误是:
TypeError: list indices must be integers, not str
您的JSON文件包含一个字典列表,要从您可以使用的
data
列表中更新每个dict,请执行以下操作:然后可以将
data
转储到文件:您的错误在这里:您的数据结构是一个数组(列表)对象(字典),您正在访问“跳过数组(列表)”
后期编辑以反映Python和JSON之间不同的术语选择
JSON是一个字典列表(用Python语言),每个字典都包含
'tag'
元素,因此需要迭代这些列表项并将新值分配给这个'tag'
键:相关问题 更多 >
编程相关推荐