[英]Add values to an existing dictionary key in Python
我需要将字典值附加到已经存在的 JSON 文件中。 我怎么能做到这一点?
我的 details.json 文件
{"name": "someName"}
我的python脚本生成的字典
list1 = {"name": "someOthername"}
with open("details.json") as r:
data = json.load(r)
desirableDict = data.append(list1) # It has to be something like this
print(desirableDict)
期望输出:{"name": ["someName", "someOthername"]}
看起来您需要深度合并结构。 我想推荐你使用这个很棒的库https://pypi.org/project/deepmerge/ 。
有很多像你想要实现的例子。
from deepmerge import always_merger
base = {"foo": ["bar"]}
next = {"foo": ["baz"]}
expected_result = {'foo': ['bar', 'baz']}
result = always_merger.merge(base, next)
assert expected_result == result
您可以检查for循环中的所有键并将json文件和list1的值放在一个列表中,如下所示:
import json
list1 = {"name": "someOthername"}
with open("details.json") as file:
data = json.load(file)
desirableDict = data.copy()
for key in data:
if key in list1:
if type(data[key]) is list:
data[key].append(list1[key])
else:
desirableDict[key] = [data[key],list1[key]]
print(desirableDict)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.