我有一本这样的字典:
{'ahik': [2, 1, 3, 1, 4, 1, 5, 1], 'tyeo': [5, 4, 3, 5, 3, 3, 2], 'abc': [1, 2, 3, 4, 5, 2, 1]....}
由于字典很大,我想将其存储在两个json文件中,两个文件都具有字典的一部分(可以说是50%)。另外,存储后如何取回?
答案 0 :(得分:4)
有多种分割字典的方法。这是一个。
islice
我们可以将项目转换为元组并使用常规切片,但是由于您的字典“很大”,因此最好使用import json
。
json.dump()
,然后您可以使用json.load()
将字典保存到文件中,并使用dict.update()
从文件中获取字典。
要合并两个字典,请使用spam1.update(spam2)
print(spam1) # {'a': '1', 'c': '3', 'e': '5', 'b': '2', 'd': '4'}
SELECT drvYourTable.TransDate,drvYourtable.explination, drvYourTable.DrAmount, drvYourTable.CrAmount, (Select sum(Nz(DrAmount, 0) - Nz(CrAmount, 0))
From tblYourtable
Where tblYourtable.TransDate <= drvYourtable.TransDate
) AS Balance
FROM tblYourTable AS drvYourTable;
答案 1 :(得分:1)
首先,您必须将字典转换为键和值的列表,然后将其拆分并转储到两个不同的文件中,
import json
d = {'ahik': [2, 1, 3, 1, 4, 1, 5, 1], 'tyeo': [5, 4, 3, 5, 3, 3, 2], 'abc': [1, 2, 3, 4, 5, 2, 1]}
dlist=list(d.items())
with open("firsthalf.txt","w") as df1, open("secondhalf.txt","w") as df2:
json.dump(dict(dlist[:len(d)//2]),df1)
json.dump(dict(dlist[len(d)//2:]),df2)
现在它将字典作为两个半字典存储到两个文件中,现在要从这两个文件中检索它们,我们必须加载并合并这两个字典。
with open("firsthalf.txt","r") as df1, open("secondhalf.txt","r") as df2:
fh,sh=json.load(df1),json.load(df2)
mydict = fh.copy()
mydict.update(sh)
print(mydict)
输出:
{'abc': [1, 2, 3, 4, 5, 2, 1], 'tyeo': [5, 4, 3, 5, 3, 3, 2], 'ahik': [2, 1, 3, 1, 4, 1, 5, 1]}