复制JSON文件,然后将它和字典附加到另一个JSON文件

时间:2016-01-21 19:34:36

标签: python json dictionary

我有一个现有的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中的内容,并且只需追加新的数据行。

2 个答案:

答案 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)