だから私はいくつかのかなり大きなjsonエンコードファイルを持っています。最小は300MBですが、これははるかに小さいです。残りは複数GBで、約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()
当然のことながら、Pythonは私にMemoryErrorを与えます。json.load()がjson.loads(f.read())を呼び出しているようです。これは、最初にファイル全体をメモリにダンプしようとしますが、これは明らかに機能しません。
これをきれいに解決できる方法はありますか?
これは古いことは知っていますが、重複しているとは思いません。答えは同じですが、質問は異なります。「複製」では、大きなファイルを効率的に読み取る方法が問題になりますが、この質問は、メモリにまったく収まらないファイルを扱います。効率は必要ありません。