単一のファイルから複数の JSON オブジェクトにアクセスする
JSON ファイルの操作は、特に、単一のファイル。このようなファイルから特定の情報を抽出するには、カスタマイズされたソリューションが必要です。
このシナリオでは、JSON ファイルには複数の JSON オブジェクトが含まれており、それぞれが特定のイベントの情報を表します。タスクは、各オブジェクトから「タイムスタンプ」フィールドと「有用性」フィールドを抽出し、それらをデータ フレームにフォーマットすることです。
これを実現するには、jsonstream ライブラリを活用することをお勧めします。これは、ファイル全体をメモリにロードすることなく、大きな JSON ファイルを処理するための特殊なアプローチを提供します。このライブラリを使用すると、ファイルから JSON オブジェクトを一度に 1 つずつ繰り返しデコードできます。
JSONstream ライブラリは次のように使用できます。
<code class="python">from jsonstream import json with open("input.json", "r") as f: for obj in json.parse(f): # Access and process individual fields from the parsed JSON object timestamp = obj["Timestamp"] usefulness = obj["Usefulness"] # ... (perform any necessary actions with the extracted data)</code>
ファイルに直接アクセスできない場合は、代わりに、または、raw_decode メソッドで JSONDecoder クラスを利用することが効率的な解決策となります。この方法を使用すると、1 回の操作でファイル全体を読み取る必要がなく、大きな JSON 文字列をデコードできます。有効な JSON オブジェクトを繰り返し検索し、最後の解析位置を追跡します。
<code class="python">from json import JSONDecoder decoder = JSONDecoder() with open("input.json", "r") as f: for line in f: try: obj, pos = decoder.raw_decode(line, 0) timestamp = obj["Timestamp"] usefulness = obj["Usefulness"] # ... (perform actions with the extracted data) except JSONDecodeError: # Handle any errors encountered during decoding</code>
JSONstream ライブラリと raw_decode メソッドの両方が、単一のファイルから複数の JSON オブジェクトを抽出する効率的な方法を提供し、作業を容易にします。大規模な JSON データ セットを使用して分析します。
以上が単一ファイル内の複数の JSON オブジェクトから特定のデータを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。