我一直在尝试向JSON文件写入大量(> 800mb)的数据;我做了一些相当多的试验和错误来获得这段代码:
def write_to_cube(data):
with open('test.json') as file1:
temp_data = json.load(file1)
temp_data.update(data)
file1.close()
with open('test.json', 'w') as f:
json.dump(temp_data, f)
f.close()
运行它只需调用函数write_to_cube({"some_data" = data})
现在这个代码的问题在于它对于少量数据来说速度很快,但问题出现在test.json
文件超过800mb的情况下。当我尝试更新或添加数据时,需要很长时间。
我知道有外部库,例如simplejson
或jsonpickle
,我不太清楚如何使用它们。
还有其他方法可以解决这个问题吗?
更新
我不确定这是如何重复的,其他文章对编写或更新大型JSON文件一无所知,而只是说解析。
Is there a memory efficient and fast way to load big json files in python?
Reading rather large json files in Python
以上都不能解决此问题。他们对写作或更新没有任何说法。
答案 0 :(得分:0)
所以问题是你的操作很长。以下是我通常采用的一些方法: