Czytanie raczej dużych plików jsona w Pythonie [duplikat]
Możliwy duplikat:
Czy istnieje wydajny i szybki sposób ładowania dużych plików json w python?
Mam więc dość duże pliki zakodowane w jsonie. Najmniejszy to 300 MB, ale jest to zdecydowanie najmniejszy. Reszta to wiele GB, od około 2 GB do 10 GB +.
Wydaje mi się, że zabrakło pamięci podczas próby załadowania pliku w Pythonie. W tej chwili przeprowadzam tylko kilka testów, aby zobaczyć, jak długo zajmiemy się tymi sprawami, aby zobaczyć, gdzie się udać. Oto kod, którego używam do testowania:
<code>from datetime import datetime import json print datetime.now() f = open('file.json', 'r') json.load(f) f.close() print datetime.now() </code>
Nic dziwnego, że Python daje mi błąd MemoryError. Wydaje się, że json.load () wywołuje json.loads (f.read ()), który próbuje najpierw zrzucić cały plik do pamięci, co najwyraźniej nie zadziała.
W jakikolwiek sposób mogę rozwiązać to czysto?
Wiem, że to stare, ale nie sądzę, żeby to był duplikat. Chociaż odpowiedź jest taka sama, pytanie jest inne. W „duplikacie” pojawia się pytanie, jak skutecznie odczytywać duże pliki, podczas gdy to pytanie dotyczy plików, które w ogóle nie pasują do pamięci. Wydajność nie jest wymagana.