我试图将两个JSON文件收集到一个JSON文件中,但是它们完全不同,但是有些元素是相同的,例如:NAME。因此,我想获取不同的元素并添加,但是要给它们添加新的Key名称,并从相似的元素中选择一个元素,我是说Key!
我试图用这种方法做到这一点:
data = json.load(open("file1.json", encoding="utf-8-sig"))
data2 = json.load(open("file2.json", encoding="utf-8-sig"))
for q in data :
for d in data2:
if d["web Name"]== q["Name"]:
ALLDATA.append({
"name": q["Name"],
"rating":q["Rating"],
"addressf1": q["Address"],
"URLf2": d["URL"],
})
break
else:
pass
pass
在名称键中,我选择要获取值的文件。 但是该方法给我错误:
Traceback (most recent call last):
File "E:/project/PycharmProjects/json work/testing.py", line 63, in <module>
"addressf1": q["Address"],
KeyError: 'Address'
当我尝试在同一循环中打印地址时,它将打印一次并停止。
答案 0 :(得分:0)
谢谢约翰·戈登。
问题就像您在评论中说的一样。
谢谢大家。
然后,我使用此代码在每个元素上用缺少的键填充JSON文件:
finaldata=[]
data = json.load(open("file1.json", encoding="utf-8-sig"))
for item in data :
if "Address" in item:
finaldata.append(item)
pass
else:
item["Address"]=None
finaldata.append(item)