如何在Python中附加json文件?

时间:2013-09-24 11:12:21

标签: python json

我有一个内容为{"67790": {"1": {"kwh": 319.4}}}的json文件。现在我创建一个字典a_dict,我需要将它附加到json文件中。我尝试了以下但未能正确完成。我哪里错了?

with open(DATA_FILENAME, 'a') as f:
   json_obj = json.dump(a_dict, json.load(f)
   f.write(json_obj)
   f.close()

3 个答案:

答案 0 :(得分:61)

假设您有一个test.json文件,其中包含以下内容:

{"67790": {"1": {"kwh": 319.4}}}

然后,下面的代码将load json文件,使用dict.update()dump将内部数据更新到test.json文件中:

import json

a_dict = {'new_key': 'new_value'}

with open('test.json') as f:
    data = json.load(f)

data.update(a_dict)

with open('test.json', 'w') as f:
    json.dump(data, f)

然后,在test.json中,您将拥有:

{"new_key": "new_value", "67790": {"1": {"kwh": 319.4}}}

希望这是你想要的。

答案 1 :(得分:4)

您需要使用a_dict更新json.load的输出,然后转储结果。 并且您无法附加到该文件,但您需要覆盖它。

答案 2 :(得分:-2)

json_obj=json.dumps(a_dict, ensure_ascii=False)