Python で辞書をファイルに保存する

Muhammad Waiz Khan 2023年1月30日
  1. pickle モジュールの dump 関数を用いて Python で辞書をファイルに保存する
  2. NumPy ライブラリの save 関数を用いた Python での辞書のファイルへの保存
  3. json モジュールの dump 関数を用いて Python で辞書をファイルに保存する
Python で辞書をファイルに保存する

このチュートリアルでは、Python 言語で辞書をファイルに保存する複数の方法を説明します。メソッドには以下のようなものがあります。

  • Python の pickle モジュールの dump() 関数
  • ライブラリ NumPysave() 関数
  • Python の json モジュールの dump() 関数

pickle モジュールの dump 関数を用いて Python で辞書をファイルに保存する

以下のコード例は、pickle モジュールの dump() 関数を用いて辞書を保存し、load() 関数を用いて保存したファイルから辞書を読み込む方法を示すものです。pickle モジュールの dump() 関数は、辞書を .pkl ファイルとして保存するためのパラメータとして、保存したい辞書とファイルオブジェクトを必要とします。

import pickle

my_dict = {"Apple": 4, "Banana": 2, "Orange": 6, "Grapes": 11}

with open("myDictionary.pkl", "wb") as tf:
    pickle.dump(my_dict, tf)

以下のコード例は、load() 関数を用いてファイルに保存された辞書を読み込む方法を示しています。load() 関数は、.pkl ファイルから辞書を読み込むためのパラメータとしてファイルオブジェクトを必要とします。

import pickle

with open("myDictionary.pkl", "wb") as tf:
    new_dict = pickle.load(tf)

print(new_dict.item())

出力:

{ 'Apple': 4, 'Banana': 2, 'Orange': 6, 'Grapes': 11}

NumPy ライブラリの save 関数を用いた Python での辞書のファイルへの保存

NumPy ライブラリの save() 関数は、辞書をファイルに保存することもできます。辞書を .npy ファイルとして保存するためには、save() 関数は、保存したいファイル名と辞書をファイルに保存するためのパラメータを必要とします。

コード例:

import numpy as np

my_dict = {"Apple": 4, "Banana": 2, "Orange": 6, "Grapes": 11}
np.save("file.npy", my_dict)

コード例は、.npy ファイルとして保存された Python 辞書を読み込む方法を示しています。NumPy ライブラリの load() 関数はファイル名を必要とし、保存した辞書を .npy ファイルから読み込むためには allow_pickle パラメータを True に設定する必要があります。

コード例:

import numpy as np

new_dict = np.load("file.npy", allow_pickle="TRUE")
print(new_dict)

json モジュールの dump 関数を用いて Python で辞書をファイルに保存する

Python で辞書をファイルに保存するもう一つの方法は、json モジュールの dump() 関数を利用することです。また、保存したい変数 dict と、辞書を .json ファイルとして保存するためのパラメータとしてファイルオブジェクトが必要です。

コード例:

import json

my_dict = {"Apple": 4, "Banana": 2, "Orange": 6, "Grapes": 11}

tf = open("myDictionary.json", "w")
json.dump(my_dict, tf)
tf.close()

ファイルとして保存された辞書を json モジュールの load 関数を用いて読み込むコード例を以下に示します。load() 関数は、.json ファイルから辞書を読み込むためのパラメータとしてファイルオブジェクトを必要とします。

import json

tf = open("myDictionary.json", "r")
new_dict = json.load(tf)
print(new_dict)

関連記事 - Python Dictionary

関連記事 - Python File