Lendo arquivos json bastante grandes em Python [duplicado]
Duplicata Possível:
Existe uma maneira rápida e eficiente de carregar arquivos json em python?
Então eu tenho alguns arquivos grandes codificados json. O menor é de 300MB, mas este é de longe o menor. O resto é múltiplo GB, em qualquer lugar de 2GB a 10GB +.
Então pareço ficar sem memória ao tentar carregar o arquivo com o Python. Atualmente, estou apenas executando alguns testes para ver quanto tempo lidar com essas coisas vai levar para ver aonde ir a partir daqui. Aqui está o código que estou usando para testar:
<code>from datetime import datetime import json print datetime.now() f = open('file.json', 'r') json.load(f) f.close() print datetime.now() </code>
Não é de surpreender que o Python me dê um MemoryError. Parece que json.load () chama json.loads (f.read ()), que está tentando despejar o arquivo inteiro na memória primeiro, o que claramente não vai funcionar.
De alguma forma eu posso resolver isso de forma limpa?
Eu sei que isso é velho, mas não acho que isso seja uma duplicata. Enquanto a resposta é a mesma, a questão é diferente. No "duplicado", a questão é como ler arquivos grandes de forma eficiente, enquanto essa questão lida com arquivos que nem sequer se encaixam na memória. A eficiência não é necessária.