Python - 如何在dictionnary的顶部插入一个元素?

时间:2017-06-25 03:48:20

标签: python json dictionary

我知道Python的字典中没有顺序,但我有一个包含字典的JSON文件,我想在每个字典中插入一个元素以某种方式当我打开JSON时我会看到添加的元素在顶部。

例子:文件JSON包含:

{“b”:2,“c”:3}

添加后应该是这样的:

{“a”:1,“b”:2,“c”:3}

1 个答案:

答案 0 :(得分:3)

您可以使用OrderedDict的小技巧来执行此操作。

第1步:将旧数据存储在某处。

import json 
s = {"b":2, "c":3}
json.dump(s, open('file.json', 'w'))

数据如下所示:'{"b": 2, "c": 3}'

步骤2:添加新数据时,使用OrderedDict加载现有数据。

from collections import OrderedDict

new_data = OrderedDict({'a' : 1})
new_data.update(json.loads(open('file.json'), object_pairs_hook=OrderedDict))
json.dump(new_data, open('file.json', 'w'))

现在,数据如下所示:'{"a": 1, "b": 2, "c": 3}'