Вопрос по json, python – Чтение довольно больших файлов json в Python [дубликаты]

64

Possible Duplicate:
Is there a memory efficient and fast way to load big json files in python?

Так что у меня есть довольно большие файлы в формате JSON. Самый маленький - 300 МБ, но это, безусловно, самый маленький. Остальные - несколько ГБ, где-то от 2 ГБ до 10 ГБ +.

Кажется, у меня не хватает памяти при попытке загрузить файл с помощью 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 ()), который пытается сначала выгружать весь файл в память, что явно не сработает.

В любом случае, я могу решить это чисто?

Я знаю, что это старое, но я не думаю, что это дубликат. Хотя ответ один и тот же, вопрос другой. В «дубликате» вопрос заключается в том, как эффективно читать большие файлы, тогда как этот вопрос касается файлов, которые вообще не помещаются в память. Эффективность не требуется.

Error: User Rate Limit Exceeded yazu
Error: User Rate Limit Exceeded Gareth Latty
Error: User Rate Limit Exceededstackoverflow.com/questions/2400643/… tskuzzy
Error: User Rate Limit Exceeded Tom Carrick
Error: User Rate Limit Exceeded Gareth Latty

Ваш Ответ

1   ответ
69

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceeded

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceededjson-streamer.

Error: User Rate Limit Exceeded Tom Carrick
Error: User Rate Limit Exceededwith open(some_file) as file: for line in file: streamer.consume(line)Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededGithub.
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededjsonstreamerError: User Rate Limit ExceededgithubError: User Rate Limit Exceeded

Похожие вопросы