Возможный дубликат:
Есть ли эффективный и быстрый способ загрузки больших json файлов в python?
Итак, у меня есть довольно большие json-кодированные файлы. Самый маленький - 300 МБ, но это, безусловно, самый маленький. Остальные - несколько GB, от 2 до 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()), который пытается сначала выгрузить весь файл в память, что явно не сработает.
В любом случае я могу решить эту проблему чисто?
Я знаю, что это старо, но я не думаю, что это дубликат. Хотя ответ тот же, вопрос другой. В "дубликате" вопрос заключается в том, как эффективно читать большие файлы, тогда как этот вопрос касается файлов, которые вообще не вписываются в память. Эффективность не требуется.