メモリ効率の高い JSON ファイルの読み込みの詳細
メモリの制約がある大規模な JSON ファイルの読み込みは、課題となる可能性があります。標準の json.load() 関数を使用してファイル全体を一度に読み取る場合、メモリ消費量が急増する可能性があります。幸いなことに、部分的なファイルのロードを可能にする代替手段があります。
ijson の紹介: JSON 用の SAX パーサー
ijson は、XML 用の SAX に似ており、ユーザーが反復的に解析できるようにします。 JSON ファイル。これは、テキスト ファイルでの 1 行ずつの反復に類似しており、メモリの問題に対処します。
ijson を使用して JSON ファイルの一部をロードする
ijson を利用するには部分的な JSON ファイルの読み込みについては、次の手順に従います。
サンプル コード
これは、ijson を使用して JSON ファイルを解析する例です。 :
<code class="python">import ijson for prefix, the_type, value in ijson.parse(open(json_file_name)): print(prefix, the_type, value)</code>
このコードでは、prefix は JSON ツリー内のドット区切りのインデックスを表し、the_type は SAX のようなイベントを示し、value にはオブジェクトの値またはイベント タイプの None が含まれます。
以上が過剰なメモリを消費せずに、大きな JSON ファイルを効率的にロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。