/ / Python: Parsuj duży plik json - python, json

Python: Parsuj duży plik json - python, json

Mam duży plik json. Jego dane dziennika i skompresowałem je do formatu bz2 (myfile.json.bz2). Rozmiar pliku bz2 wynosi 90 MB. Szukałem dobrego rozwiązania lub posta na blogu, który wyjaśniłby efektywne analizowanie skompresowanego pliku bz2 json, ale nie był w stanie go znaleźć.

Ponieważ plik jest duży, wykonanie czegoś takiego jest niemożliwe.

with open("data.json") as data_file:
data = json.load(data_file)

jakie jest najlepsze podejście?

Po kilku kopaniu znalazłem pakiet python do odczytu bz2

input_file = bz2.BZ2File(filename, "r")

Odpowiedzi:

1 dla odpowiedzi № 1

W przypadku braku innych sugestii lub istniejącego kodu polecam otwarcie strumienia i ręczne analizowanie nawiasów klamrowych i nawiasów ({ i [ odpowiednio), dopóki nie masz kompletnego obiektu { ... } i uruchom w tym celu deserializację. Umożliwi to porcjowanie JSON przy jednoczesnym wykorzystaniu istniejących bibliotek JSON.

Nie jest to rozwiązanie, które zazwyczaj polecam, ale jest to najszybsze i najbardziej niezawodne rozwiązanie, jakie mogę wymyślić, jeśli istniejące biblioteki nie odpowiadają twoim potrzebom.