複数の JSON オブジェクトを含む JSON ファイルのロードと解析
単一のオブジェクトまたは配列内にすべてのデータをカプセル化する標準の JSON ファイルとは異なり、特定の JSON 形式では、個々のオブジェクトがテキスト ファイル内の別の行として保存されます。これにより、このようなファイルを Python で解析しようとするときに問題が発生する可能性があります。
ValueError への対処
Python の json.load() 関数を使用して JSON ファイルをロードする場合複数のオブジェクトを使用すると、「ValueError: Extra data」例外が発生する可能性があります。このエラーは、最初に解析されたオブジェクトの後にファイルに予期しないデータが含まれていることを示します。
解決策: 行ごとの解析
この問題を処理するには、次のことを行う必要があります。ファイル内の各行は独立した JSON オブジェクトとして扱われます。現在のコードを次のコードに置き換えます。
import json data = [] with open('file') as f: for line in f: data.append(json.loads(line))
このコードは、ファイル内の各行を反復処理し、JSON オブジェクトとして解析し、リストに追加します。
大きなファイルに関する考慮事項
JSON ファイルが特に大きい場合、すべてのオブジェクトを 1 つのリストに追加すると消費される可能性があります過剰なメモリ。これを軽減するには、次の行に進む前に各オブジェクトを個別に処理します。回避:
data = [] # List of all objects
代わりに、必要に応じて各オブジェクトを処理します:
for line in f: process_object(json.loads(line))
区切られた JSON オブジェクトの処理
JSON ファイルに個別のオブジェクトが含まれている場合カンマや改行などの区切り文字で区切られたオブジェクトがある場合、次の手法を使用して各オブジェクトを解析できます。オブジェクト:
import json, io # Read delimited JSON objects from a file with open('file') as f: json_string = f.read() # Create a buffered reader json_buffer = io.StringIO(json_string) while True: # Read next JSON object from the buffer json_object = json.load(json_buffer) # Process JSON object if not json_object: # Reached the end of the file break
以上がPython で複数の JSON オブジェクトを含む JSON ファイルを解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

正規表現を使用して、最初の閉じたタグと停止に一致する方法は? HTMLまたは他のマークアップ言語を扱う場合、しばしば正規表現が必要です...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
