Python json转储大量字典列表
我正试图通过“json.dumps”将大量字典(超过100000个)保存为json文件 代码运行时没有错误,但不幸的是,它无法保存完整的列表。我得到的东西像是一个裁剪过的文件 有趣的是,如果我尝试保存相同词典的较短列表(例如10000),一切都会顺利进行。有人知道这背后的原因吗 我用几行代码创建了这个示例,将“dict_example”的列表“test”保存到名为“scenario”的json文件中。在我的例子中,它将保存一个只有几千个元素的文件Python json转储大量字典列表,python,json,dictionary,dump,Python,Json,Dictionary,Dump,我正试图通过“json.dumps”将大量字典(超过100000个)保存为json文件 代码运行时没有错误,但不幸的是,它无法保存完整的列表。我得到的东西像是一个裁剪过的文件 有趣的是,如果我尝试保存相同词典的较短列表(例如10000),一切都会顺利进行。有人知道这背后的原因吗 我用几行代码创建了这个示例,将“dict_example”的列表“test”保存到名为“scenario”的json文件中。在我的例子中,它将保存一个只有几千个元素的文件 test=[] for i in range(2
test=[]
for i in range(200000):
pass
dict_example={}
dict_example['guid']=i
dict_example['info']={}
dict_example['info']['color']='red'
dict_example['info']['location'] = random.randint(1,10000)
dict_example['info']['day'] = random.randint(1,10000)
test.append(dict_example)
with open(os.path.join(output_directory,'orders'+scenario), "w") as f:
json.dump(test,f, indent=4, sort_keys=True)
我损坏的输出json文件看起来像一个裁剪过的列表,如下所示:
试试
json.dump(list\u of dicts,f,indent=4,sort\u keys=True)
可能会更好,因为它可以让json库完成IOT。这很奇怪,我很确定它不会发生。您是否可以添加生成足够数据的代码来触发系统上的这种行为?它不一定是您想要编写的实际数据,只是其他人可以测试的数据(请参阅)。@Macattack已经尝试过了,但仍然有相同的问题(没有s)变体。非常酷@Macattack@msanford还有load
和load
,对于pickle
库也是如此,可能还有一些其他的例子,我只是不想尝试json.dump(list\u of_dicts,f,indent=4,sort\u keys=True)
可能会更好,因为它让json库完成一些奇怪的事情,我很确定这不会发生。您是否可以添加生成足够数据的代码来触发系统上的这种行为?它不一定是您想要编写的实际数据,只是其他人可以测试的数据(请参阅)。@Macattack已经尝试过了,但仍然有相同的问题(没有s)变体。非常酷@Macattack@msanford还有加载
和加载
,与pickle
库相同,可能还有一些我没有想到的其他示例