Rumah >pembangunan bahagian belakang >Tutorial Python >Berikut ialah beberapa pilihan tajuk, disesuaikan untuk berasaskan soalan dan mencerminkan fokus artikel pada pengendalian fail JSON yang besar: Pilihan 1 (Lebih umum): * Cara Memproses Fail JSON yang Sangat Besar Wit
Membaca Fail JSON yang Sangat Besar tanpa Memecahkan Memori
Percubaan untuk memuatkan fail JSON yang banyak terus ke dalam ingatan menggunakan kaedah Python standard boleh mengakibatkan " MemoryError." Ini berlaku kerana kaedah ini cuba membaca keseluruhan fail sebelum menghuraikannya, memakan memori yang berlebihan.
Untuk mengatasi isu ini, adalah perlu untuk memproses fail secara berperingkat sebagai strim, membaca bahagian pada satu masa untuk pemprosesan segera. ijson ialah perpustakaan yang berharga untuk tujuan ini, menawarkan penghurai JSON penstriman.
Berikut ialah contoh cara anda boleh menggunakan ijson untuk menstrim fail JSON yang besar:
<code class="python">import ijson with open('large_file.json', 'r', encoding='utf-8') as f: parser = ijson.parse(f) for prefix, event, value in parser: # Process the current event and value if prefix and event == 'map_key': # Handle the key for a new object key = value elif event == 'string': # Handle the value for a string val = value</code>
Sambil anda mengulangi melalui strim, anda boleh memproses data secara berperingkat tanpa melebihi had memori. Perpustakaan lain yang disebut dalam perbincangan, seperti json-streamer dan bigjson, menyediakan fungsi yang serupa. Dengan menggunakan alatan ini, anda boleh mengendalikan fail JSON yang sangat besar dengan berkesan tanpa menghadapi ralat memori.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, disesuaikan untuk berasaskan soalan dan mencerminkan fokus artikel pada pengendalian fail JSON yang besar: Pilihan 1 (Lebih umum): * Cara Memproses Fail JSON yang Sangat Besar Wit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!