将行追加并覆盖-python

问题描述 投票:0回答:1

如何将行附加到json文件并用相同的名称覆盖?

data.json    
{
 'a': 1,
 'b': 2}

我尝试过

with open('data.json', 'r+') as json_file:
    data = json.load(json_file)
    data.update({'c': 3})
    json.dump(data,json_file)

但是这会附加所有数据,而不仅仅是预期的行

python json append
1个回答
2
投票
[首先,您需要读取JSON文件,并在json.load()方法中传递第二个参数,即保留字典的顺序。因此,当将键值对分配给字典时,OrderedDict会自动将其附加到末尾。最后,写入文件。

import json from collections import OrderedDict with open('data.json', 'r') as json_file: data = json.load(json_file, object_pairs_hook=OrderedDict) data['c'] = 3 with open('data.json', 'w') as json_file: json.dump(data, json_file)

© www.soinside.com 2019 - 2024. All rights reserved.