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 辞書から要素を削除する方法