大規模な JSON ファイルの読み取り
大規模な JSON ファイルを Python に読み込むと、JSON デコーダーのデフォルトの動作によりメモリの問題が発生する可能性があります。これらのデコーダは通常、ファイル全体をメモリにロードするため、大規模なファイルでは MemoryErrors が発生します。
この問題に対処する鍵は、ファイル全体を一度にロードするのではなく、ストリーミング アプローチを利用することにあります。これには、より小さいチャンクでのデータの読み取りと処理が含まれます。
解決策: JSON ストリーミング
効果的な解決策の 1 つは、ijson モジュールを使用してストリーミング アプローチを実装することです。 Ijson は JSON をストリームとして扱い、ファイル全体をメモリ内に保持せずにデータの反復処理を可能にします。
コード例
<code class="python">from ijson import items with open('file.json', 'r') as f: for event, value in items(f): # Process the current event and value pass</code>
この例では、 ijson モジュールは JSON データを反復処理し、処理用のイベントと値を提供します。これにより、ファイル全体がメモリに読み込まれることが回避され、初期メモリ エラーが解決されます。
代替ソリューション
その他の注目すべき解決策は次のとおりです。
ストリーミング技術を活用すると、メモリの制約に遭遇することなく、大きな JSON ファイルを効果的にロードして処理できます。
以上がPython でメモリエラーを発生させずに大きな JSON ファイルを処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。