Eu tenho um arquivo json grande. Seus dados de log e eu o compactei no formato bz2 (myfile.json.bz2). O tamanho do arquivo bz2 é de 90MB. Eu procurei para encontrar uma boa solução ou uma postagem no blog que explica a análise do arquivo bz2 json comprimido de forma eficiente, mas não foi capaz de encontrar nenhum.
Como o arquivo é grande, é impossível fazer algo do tipo.
with open("data.json") as data_file:
data = json.load(data_file)
Qual é a melhor abordagem?
Depois de algumas pesquisas, descobri que há um pacote python para ler bz2
input_file = bz2.BZ2File(filename, "r")
Respostas:
1 para resposta № 1Na ausência de qualquer outra sugestão ou código existente, eu recomendaria abrir um fluxo e analisar manualmente as chaves e colchetes ({
e [
respectivamente) até que você tenha um objeto completo { ... }
e execute a desserialização nisso. Isso permitirá que você segmente o JSON enquanto aproveita as bibliotecas JSON existentes.
Esta não é uma solução que eu normalmente recomendaria, mas é a solução mais rápida e confiável em que posso pensar se as bibliotecas existentes não atenderem às suas necessidades.