gpt4 book ai didi

python - 在 Python 中合并两个 JSON 字典?

转载 作者:太空狗 更新时间:2023-10-30 00:31:37 24 4
gpt4 key购买 nike

我正在尝试合并两个 JSON 字典。到目前为止,我有一个包含内容的 JSON 文件 (myjfile.json)

{"cars": 1, "houses": 2, "schools": 3, "stores": 4}

此外,我在 Python 中有一个字典 (mydict),如下所示:

{"Pens": 1, "Pencils": 2, "Paper": 3}

当我将两者结合起来时,它们是两个不同的词典。

with open('myfile.json' , 'a') as f:
json.dump(mydict, f)

请注意,myfile.json 在代码中使用 'a' 和/n 编写,因为我想保留文件的内容并在每次写入时开始一个新行。

我希望最终结果看起来像

{"cars": 1, "houses": 2, "schools": 3, "stores": 4, "Pens": 1, "Pencils": 2, "Paper": 3}

最佳答案

IIUC 你需要将两个字典合并为一个,你可以使用 update 来完成:

a = {"cars": 1, "houses": 2, "schools": 3, "stores": 4}
b = {"Pens": 1, "Pencils": 2, "Paper": 3}

a.update(b)
print(a)

输出看起来像:

{'Paper': 3, 'cars': 1, 'Pens': 1, 'stores': 4, 'Pencils': 2, 'schools': 3, 'houses': 2}

要在不触及 a 的情况下创建全新的 dict,您可以这样做:

out = dict(list(a.items()) + list(b.items()))

print(out)
{'Paper': 3, 'cars': 1, 'Pens': 1, 'stores': 4, 'Pencils': 2, 'schools': 3, 'houses': 2}

编辑

对于您的情况,您可以使用 json.load 加载您的 json 更新它,然后使用 json.dump 保存它:

mydict = {"Pens": 1, "Pencils": 2, "Paper": 3}
with open('myfile.json' , 'r+') as f:
d = json.load(f)
d.update(mydict)
f.seek(0)
json.dump(d, f)

关于python - 在 Python 中合并两个 JSON 字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34909765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com