我有一个现有的JSON文件,一个新的JSON文件和一个现有的Python字典。我尝试做的是将现有JSON文件中的数据复制到我的新JSON文件,然后将我的字典附加到新的JSON文件。
mydict = {'a':1, 'b':2, 'c':3}
我的JSON文件看起来像Python字典:
{'hi': 4, 'bye' : 5, 'hello' : 6}
到目前为止,我有:
with open('existing.json', 'r') as old, open ('recent.json', 'a') as new:
#This is where i get stuck on how to copy over the contents of existing.json, and how to append mydict as well.
我希望最终结果是一个包含existing.json和mydict
内容的字典。此外,如果我将其转换为函数,我希望能够始终保留已经在recent.json中的内容,并且只需追加新的数据行。
答案 0 :(得分:2)
您可以加载更新并回写文件,如下所示:
import json
mydict = {'a':1, 'b':2, 'c':3}
data = json.load(open('existing.json'))
data.update(mydict)
json.dump(data, open('recent.json', "w"))
答案 1 :(得分:0)
将现有的JSON
加载到字典中,然后将此加载的数据与字典合并,并将合并的数据保存为JSON
。
import json
def combine_json_with_dict(input_json, dictionary, output_json='recent.json'):
with open(input_json) as data_file:
existing_data = json.load(data_file)
combined = dict(existing_data, **dictionary)
with open(output_json, 'w') as data_file:
json.dump(combined, data_file)