Python で辞書を JSON に保存する
このチュートリアルでは、Python で辞書を JSON ファイルとして保存するための様々な方法を説明します。JSON フォーマットは一般的に普及している軽量なファイルフォーマットで、主に Web サーバとアプリケーション間でデータを保存したり転送したりするために使用されます。これは完全に言語に依存しないファイル形式であり、人間にとっては理解しやすいものです。
Python の pickle.dump() メソッドを使って辞書を JSON に保存する
pickle モジュールの dump(obj, file, ..) メソッドは、データオブジェクト obj をオープンしたファイルオブジェクト file に書き込む。辞書を JSON 形式で保存するには、.json ファイルのファイルオブジェクトと保存する辞書が必要であり、それらを dump() メソッドに渡す必要があります。
また、pickle ライブラリの load() メソッドを用いて .json ファイルから保存した辞書を読み込むこともできます。pickle.load(file, ..) メソッドはファイルを読み込み、保存に用いたデータ型のオブジェクト(辞書、リスト、セットなど)を返します。
以下の例では、dump() メソッドを用いて Python で辞書を JSON ファイルとして保存する方法を示します。
import pickle
my_dict = {"Ali": 9, "Sid": 1, "Luna": 7, "Sim": 12, "Pooja": 4, "Jen": 2}
with open("data.json", "wb") as fp:
pickle.dump(my_dict, fp)
with open("data.json", "rb") as fp:
data = pickle.load(fp)
print(data)
print(type(data))
出力:
{'Ali': 9, 'Sid': 1, 'Luna': 7, 'Sim': 12, 'Pooja': 4, 'Jen': 2}
<class 'dict'>
Python の json.dump() メソッドを使って辞書を JSON に保存する
json モジュールの dump(obj, file, ..) メソッドは、データオブジェクト obj をオープンファイルオブジェクト file に書き込みます。また、json モジュールの load(file, ..) メソッドもファイルを読み込み、データを保存したデータ型のオブジェクトを返します。私たちの場合は辞書です。
上で説明したように、辞書を JSON ファイルとして保存するには、辞書データを保存するための .json ファイルのオープンファイルオブジェクトが必要です。また、.json ファイルからデータを読み込む必要があります。
以下のコード例は、json.dump() メソッドと json.load() メソッドを用いて、Python で辞書を JSON ファイルに保存して読み込む方法を示しています。
import json
my_dict = {"Ali": 9, "Sid": 1, "Luna": 7, "Sim": 12, "Pooja": 4, "Jen": 2}
with open("data.json", "w") as fp:
json.dump(my_dict, fp)
with open("data.json", "r") as fp:
data = json.load(fp)
print(data)
print(type(data))
出力:
{'Ali': 9, 'Sid': 1, 'Luna': 7, 'Sim': 12, 'Pooja': 4, 'Jen': 2}
<class 'dict'>
pickle メソッドと json メソッドの主な違いは、pickle メソッドはバイナリモードのファイルオブジェクトの読み書きを必要とし、json メソッドは単純な読み書きモードのファイルオブジェクトを必要とすることです。関連記事 - Python Dictionary
- Python で辞書をリストに変換する
- Python でディレクトリのすべてのファイルを取得する方法
- Python 辞書で最大値を求める
- Python 辞書を値でソートする方法
- Python 2 および 3 で 2つの辞書をマージする方法
- Python 辞書から要素を削除する方法