Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python JSON

JSONは、構造化データの保存に使用される一般的なデータ形式です。

Pythonでアプリケーションを構築しているときに、アプリでJSONを使用することを決定する場合があります。たとえば、JSONファイルからデータを読み取ったり、JSON形式で保存されたデータをファイルに書き込んだりすることができます。

このガイドでは、JSONデータ形式の基本、Python jsonモジュールの使用方法、PythonでJSONを操作する方法について説明します。このチュートリアルを読み終えると、PythonプログラムでJSONを使用するエキスパートになります。

JSONとは何ですか?

JavaScript Object Notationの略であるJSONは、構造化データを保存できるデータ形式です。

多くの場合、JSONは、Webアプリケーションのサーバーとの間でデータを送受信するために使用されます。たとえば、FitbitAPIやGoogleMapsAPIなどの多くのAPIがJSON形式でデータを返すことをご存知かもしれません。

これは、JSONデータが標準化され、構造化されており、読みやすいためです。

PythonでのJSONレコードの例を次に示します。

{
	"name": "James Smith",
	"id": 202,
	"probation": False
}

このレコードには、コロン(:)の左側にある3つのキーと、コロンの右側にある3つの値が格納されます。各キーは値にバインドされています。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

JSONデータ形式を辞書と混同しないでください。これは辞書のように見えるかもしれませんが、JSONはデータ形式ですが、辞書はデータ構造です。

つまり、JSONデータを辞書に保存する場合は、それを辞書に変換する必要があります。辞書をJSONとして保存する場合は、JSONに変換する必要があります。

Pythonでjsonをインポートする

PythonでJSONオブジェクトの操作を開始する前に、Pythonjsonモジュールをインポートする必要があります。このモジュールには、JSONデータを操作できるようにする多くの関数が含まれています。

JSONモジュールをインポートするには、次のステートメントを使用できます。

import json

JSONモジュールをコードにインポートしたので、その関数の操作を開始できます。

PythonでJSONを解析する

JSONデータの操作に関して実行する必要がある最も重要な機能の1つは、JSONを辞書に解析することです。

JSONを辞書に解析するには、json.loads() を使用できます。 方法。

json.loads() 辞書に変換するJSON文字列という1つのパラメーターを受け入れます。

エンジニアリングチームでコーダーが割り当てられているプロジェクトに関する情報を格納するJSON文字列があるとします。そのJSON文字列を辞書に変換したいとします。これを行うには、次のコードを使用できます。

import json

employee = "{'name': 'Linda Richardson', 'projects': ['Directory', 'Homepage']}"
employee_dictionary = json.loads(employee)

print(employee_dictionary)
print(employee_dictionary["name"])

私たちのコードは次を返します:

{「名前」:「リンダリチャードソン」、「プロジェクト」:[「ディレクトリ」、「ホームページ」]}

リンダ・リチャードソン

コードを分解してみましょう。まず、jsonモジュールをコードにインポートします。次に、employeeという文字列を宣言します。 従業員レコードをJSON構造で保存します。

次に、json.loads() を使用します employeeを変換します JSONへの文字列。次に、新しい辞書をコンソールに出力します。 nameの値も出力します コンソールのキー。

ご覧のとおり、辞書はJSON文字列と同じように見えます。しかし、今ではデータが辞書として保存されています。 「name」キーの値を出力すると、「LindaRichardson」がコンソールに出力されるためです。

辞書をJSON文字列に変換

辞書を使用している場合は、辞書をJSON文字列に変換することをお勧めします。

JSON値をファイルに保存するため、文字列としてフォーマットする必要があるため、これは一般的な操作です。辞書をJSONに変換するには、json.dumps()を使用できます。 方法。

従業員に関する情報を含む辞書をJSON文字列に変換するとします。このコードを使用してこれを行うことができます。

import json

employee = {
	"name": "Linda Richardson",
	"id": 107,
	"probation": False,
	"department": "Sales"
}

employee_json = json.dumps(employee)
print(employee_json)

私たちのコードは次を返します:

‘{“ name”:“ Linda Richardson”、“ id”:107、“ probation”:false、“ department”:“ Sales”}’

コードの出力は元の辞書と同じように見えるかもしれませんが、辞書は文字列として保存されるようになりました。

JSON文字列のフォーマット

json.dumps() メソッドには、メソッドによって作成された最終的な文字列を読みやすくするために使用できるいくつかのパラメーターが付属しています。

indent パラメータを使用すると、最終的なJSON文字列に表示されるインデントの数を定義できます。 JSON文字列の各行に4つのインデントを追加するとします。次のjson.dumps()を使用してこれを行うことができます 声明:

employee_json = json.dumps(employee, indent=4)

このステートメントを最後の例と組み合わせると、次のようになります。

{
    "name": "Linda Richardson",
    "id": 107,
    "probation": false,
    "department": "Sales"
}

JSON文字列のデータの区切り文字を変更することもできます。区切り文字のデフォルト値は「、」および「:」です。これは、すべてのオブジェクトがコンマを使用して区切られ、すべてのキーと値がコロンを使用して区切られることを意味します。

キーと値を等号(=)を使用して区切り、4のインデントを使用するとします。次のステートメントを使用してこれを行うことができます。

employee_json = json.dumps(employee, indent=4, separators=(", ", " = "))

私たちのコードは次を返します:

{
    "name" = "Linda Richardson", 
    "id" = 107, 
    "probation" = false, 
    "department" = "Sales"
}

ご覧のとおり、JSON文字列のすべてのキーと値は等号を使用して区切られています。

JSONファイルを読む

PythonでJSONファイルを読み取るには、json.load()を使用できます 。このメソッドは、プログラムで読み取りたいファイルオブジェクトという1つのパラメーターを受け入れます。

プログラムにロードしたいemployee.jsonというファイルがあるとします。このファイルの内容は次のとおりです。

{"name": "Linda Richardson", "id": 107, "probation": false}

このコードを使用してこれを行うことができます。

{"name": "Linda Richardson", "id": 107, "probation": false}

We could do so using this code:

import json

with open('employee.json') as final_file:
	employee = json.load(final_file)

print(employee)

私たちのコードは次を返します:

{“ name”:“ Linda Richardson”、“ id”:107、“ probation”:false}

このコードでは、最初にjsonライブラリをインポートします。次に、withを使用します employee.jsonを読むためのステートメント ファイル。 json.load()を使用します fileに保存されているファイルの内容を変換するメソッド 変数、辞書へ。次に、辞書の値を出力します。

JSONをファイルに書き込む

json.dump()を使用できます PythonでファイルにJSONを書き込むメソッド。

json.dump() メソッドは、ファイルに書き込みたいディクショナリと、ディクショナリに書き込みたいファイルオブジェクトの2つのパラメータを受け入れます。

従業員のレコードをJSON値としてファイルに保存するとします。このファイルの名前はlinda_employee.jsonである必要があります 。次のコードを使用してこれを行うことができます。

import json

employee = {
	"name": "Linda Richardson",
	"id": 107,
	"probation": False,
	"department": "Sales"
}

with open('linda_employee.json', 'w') as final_file:
	json.dump(employee, final_file)

コードを分解してみましょう。まず、jsonモジュールをプログラムにインポートします。次に、LindaRichardsonという従業員に関する情報を辞書構造に格納する変数を宣言します。

次に、「w」フラグを指定した「with」ステートメントを使用して、linda_employee.jsonというファイルを準備します。 書くことができます。次に、json.dump()を使用します employeeを変換します 辞書をJSON文字列に変換し、それをfinal_fileに保存します 物体。

このプログラムを実行すると、employeeの内容が 辞書はlinda_employee.jsonに書き込まれます ファイル。このファイルの最終的な内容は次のとおりです。

{"name": "Linda Richardson", "id": 107, "probation": false, "department": "Sales"}

結論

Python jsonモジュールを使用すると、JSONデータを読み取って操作できます。

jsonモジュールを使用すると、次のことができます。

  • ファイルからJSONを読み取る
  • 辞書をJSONに変換する
  • JSONを辞書に変換する
  • JSON文字列をファイルに書き込む

このチュートリアルでは、jsonモジュールを使用してこれらすべての操作を実行する方法について説明しました。これで、プロのようにPythonでJSONデータを操作する準備が整いました。


Pythonでコーディングする方法を学ぶことに興味がありますか? をダウンロードします 無料のキャリアカルマアプリ 今日、トップの学習リソースのロックを解除し、Pythonの習得に役立つトレーニングプログラムを見つけましょう。


  1. Pythonでの統計的思考

    統計は、mlとAIを学ぶための基本です。 Pythonはこれらのテクノロジーに最適な言語であるため、統計分析を組み込んだPythonプログラムの作成方法を説明します。この記事では、さまざまなPythonモジュールを使用してグラフやチャートを作成する方法を説明します。このさまざまなグラフは、データをすばやく分析し、内部を導き出すのに役立ちます。 データの準備 さまざまなシードに関するデータを含むデータセットを取得します。このデータセットは、以下のプログラムに示されているリンクのkaggleで入手できます。さまざまなシードの特徴を比較するためのさまざまなタイプのチャートを作成するために使用される

  2. Pythonで国勢調査データを分析する

    国勢調査とは、特定の人口に関する情報を体系的に記録することです。キャプチャされたデータには、人口統計、経済、居住の詳細など、さまざまなカテゴリの情報が含まれます。これは、最終的に政府が現在のシナリオと将来の計画を理解するのに役立ちます。この記事では、Pythonを活用してインドの人口の人口調査データを分析する方法を説明します。さまざまな人口統計学的および経済的側面を見ていきます。次に、分析をグラフィカルに投影する電荷をプロットします。 kaggleから収集されたソース。ここにあります。 データの整理 以下のプログラムでは、最初に短いPythonプログラムを使用してデータを取得します。さらに分