阅读相当大的JSON文件。
- 论坛
- 阅读相当大的JSON文件。
21 浏览
阅读相当大的JSON文件。
我有一些大型的json编码文件。最小的文件大小为300MB,其余的文件大小在2GB到10GB+之间。
当我试图在Python中加载这些文件时,似乎总是会出现内存不足的问题。
我尝试使用以下代码测试性能:
from datetime import datetime import json print datetime.now() f = open('file.json', 'r') json.load(f) f.close() print datetime.now()
不出所料,这会导致MemoryError
。看起来json.load()
调用了json.loads(f.read())
,它试图首先将整个文件转储到内存中,这显然是行不通的。
我应该如何干净地解决这个问题?
我知道这是老问题,但我认为这不是重复的。虽然答案是一样的,但问题是不同的。在“重复”的问题中,问题是如何高效地读取大文件,而这个问题涉及的文件根本无法放入内存中。效率并不是必需的。