オンラインAPIからデータを転送する方法、またはさまざまな種類のデータをローカルマシンに保存する方法を知っていますか?いずれにせよ、JSONに没頭しました。 Javaスクリプトオブジェクト表記。 これは、半構造化データを表すために使用される有名で人気のあるデータ形式です。 PythonJSONについて詳しく見ていきましょう。
この記事では、次の側面について説明します。
PythonでのJSONの概要:
JSONは J エイバ S クリプト または bject N otation整理された簡単な方法で情報を保存する方法です。ブラウザとサーバー間で交換する場合、データはテキスト形式である必要があります。
あなたがそれがそうであるかどうか疑問に思っている場合 ?次に、答えは 番号。 これはテキストで構成されたスクリプトであり、人間が読み取り可能な形式でデータを保存および転送するために使用されます。これは、JavaScriptに触発され、一般にテキストまたは文字列形式で使用される、小さくて軽量のデータ形式です。パケット JSON Python辞書とほとんど同じです。今、あなたは疑問に思う必要があります
PythonでJSONファイルを読み取る方法は?
あなたの質問への答えは、一般的にPythonデータ型をJSON文字列ファイルに変換するJSONモジュールをインポートする必要があるということです。これは、JSONファイルから直接読み取りおよび書き込みを行うJSON関数で構成されています。 JSONパッケージが組み込まれており、標準ライブラリの一部であるため、インストールする必要はありません。
例:
jsonをインポートする
PythonのJSONについて理解したところで、解析について詳しく見ていきましょう。
解析:
JSONライブラリはからJSONを解析できます 文字列 またはファイル。 JSONを解析して またはリストして、その逆を行います。解析は通常、次の2つの段階で行われます。
- JSONからPythonへの変換
- PythonからJSONへの変換
両方の段階をよりよく理解しましょう。
JSONからPythonへの変換:
を使用してJSON文字列をPythonに変換できますjson.loads()。
実際の実装をお見せしましょう。
例:
import json people_string = '' '{' people ':[{' emp_name ':' John smith '、' emp_no。 ':' 924367-567-23 '、' emp_email ':[' johnsmith@dummyemail.com ']、 'has_license': 'false'}、{'emp_name': 'harshit kant'、 'emp_number': '560-555-5153'、 'emp_email': 'null'、 'has_license': 'true'}]} ' ''データ= json.loads(people_string)print(data)
出力:
上記の出力からわかるように、 。理解を深めるためにデータ型を印刷してみましょう。
例:
import json people_string = '' '{' people ':[{' emp_name ':' John smith '、' emp_no。 ':' 924367-567-23 '、' emp_email ':[' johnsmith@dummyemail.com ']、 'has_license': 'false'}、{'emp_name': 'harshit kant'、 'emp_number': '560-555-5153'、 'emp_email': 'null'、 'has_license': 'true'}]} ' '' data = json.loads(people_string)print(type(data))#データ型を出力します
出力:
これで、1つの変換について理解できたので、第2段階でもう1つの変換タイプを見てみましょう。
PythonからJSONへの変換:
Pythonオブジェクトは、を使用してJSON文字列に変換できますjson.dumps()。
以下の例を見てみましょう。
例:
import json people_string = '' '{' people ':[{' emp_name ':' John smith '、' emp_no。 ':' 924367-567-23 '、' emp_email ':[' johnsmith@dummyemail.com ']、 'has_license': 'false'}、{'emp_name': 'harshit kant'、 'emp_no。': '560-555-5153'、 'emp_email': 'null'、 'has_license': 'true'}]} '' 'data = json.loads(people_string)new_string = json.dumps(data)print(new_string)
出力:
出力はJSON文字列型になります。 JSONからPythonへの変換でデータ型をすでに示しましたが、データ型を出力するために同じ手順に従います。
先に進んで、PandasがJSONを解析する方法を見てみましょう。
WindowsでJavaパスを設定する方法
JSONを解析するパンダ:
JSON文字列は解析して パンダ 次の手順のデータフレーム:
- 次の一般的な構造を使用して、JSON文字列をDataFrameにロードできます。
パンダをpdとしてインポートしますpd.read_json(r'JSONファイルを保存したパスFileName.json ')
- JSON文字列を準備します。
- 使用しているJSONファイルをnobel_prize.jsonで作成します。
- JSONファイルをpandasDataFrameにロードします。
以下に実装されたコードは、JSONファイルをDataFrameにロードします。
パンダをpdとしてインポートするimportjson with open(r'C:UsersHarshit_KantDesktopnobel.prize.json ')as f:data = json.load(f)print(data)df = pd.DataFrame print(df)
出力:
先に進み、PythonでJSONをシリアル化する方法を見てみましょう。
JSONのシリアル化[エンコード]:
JSONのシリアル化は、単にJSONをエンコードしていることを意味します。指定されたPythonデータ構造(ex:dict)を有効なJSONオブジェクトに変換します。ファイル内のデータフローを処理するために、PythonのJSONライブラリは 投げ捨てる() そして dumps() メソッド。変換を実行し、データをファイルに簡単に書き込むことができます。
以下に示すのは、 Python データ型 それぞれのJSONタイプに変換されます。
Python | JSON |
dict(辞書) | オブジェクト |
リスト、配列 | タプル |
ストリング | ストリング |
int、long、float | 数字 |
本当 | true |
誤り | false |
無し | ヌル |
覚えておくべきポイント:
投げ捨てる() –データをJSONファイルに変換します
dumps() –データをJSON文字列に変換します
負荷() –JSONファイルをPythonオブジェクトに変換します
load()– JSON文字列のオブジェクトをPythonオブジェクトに変換します
プリティプリント:
Pretty Printingはコードの配置を処理し、人間が読める形式にします。常にブール値のTrue値と「インデント」スペースを返す2つのパラメータ「sort_keys」を渡した以下の例を見てみましょう。
例:
import json people_string = '' '{' people ':[{' emp_name ':' John smith '、' emp_no。 ':' 924367-567-23 '、' emp_email ':[' johnsmith@dummyemail.com ']、 'has_license': 'false'}、{'emp_name': 'harshit kant'、 'emp_no。': '560-555-5153'、 'emp_email': 'null'、 'has_license': 'true'}]} '' 'data = json.loads(people_string)new_string = json.dumps(data、sort_keys = True、indent = 3)print(new_string)
出力:
Python JSONチュートリアルを進めて、JSONの逆シリアル化について理解しましょう。
JSONの逆シリアル化[デコード]:
JSONの逆シリアル化は、シリアル化の正反対です。つまり、JSONをデコードしていることを意味します。指定されたJSON文字列をに変換します Python オブジェクト を利用して 負荷() そして load() 変換を行うメソッド。
どのスキャナークラスメソッドが文字列を読み取るか
以下に、JSONデータ型からそれぞれのPython型への変換を示す表を示します。
JSON | Python |
オブジェクト | dict(辞書) |
タプル | リスト、配列 |
ストリング | ストリング |
数字 | int、long、float |
true | 本当 |
false | 誤り |
ヌル | 無し |
「PythonJSON」チュートリアルを進めます。コーディングの観点から、シリアル化と逆シリアル化の両方のリアルタイムの例を紹介します。
コーディングのデモンストレーション:
このコーディングのデモンストレーションでは、「ノーベル賞」と呼ばれるJSONデータセットを使用しています。 ここに 。 JSONファイルを介して同じもののシリアル化と逆シリアル化を行う方法を学習します。
例(JSONデータセットのシリアル化):
import json with open( 'nobel_prize.json.html')as f:data = json.load(f)with open( 'new_nobel_prize.json.html')as f:json.dump(data、f、indent = 2)
出力:
は正常にコンパイルされ、新しいファイル「new_nobel_prize.json」が作成され、既存のファイル「nobel_prize.json」からデータがダンプされます。
例(JSONデータセットの逆シリアル化):
import json with open( 'nobel_prize.json.html')as f:data = json.load(f)for nobel_prize in data ['prizes']:print(nobel_prize ['year']、nobel_prize ['category'])
出力:
コードスニペットは、JSONファイルからそれぞれのPythonオブジェクトへの変更を示しています。
これで、記事「PythonJSON」は終わりです。 JSON、解析、シリアル化、および逆シリアル化に関連するすべての概念を明確に理解していただければ幸いです。
できるだけ練習し、経験を元に戻してください。
質問がありますか?このPythonJSON記事のコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。 Pythonとそのさまざまなアプリケーションについての深い知識を得るには、次のことができます。 24時間年中無休のサポートと生涯アクセスを備えたライブオンライントレーニングで。