1. ホーム
  2. パイソン

[解決済み】Pythonの辞書を保存する

2022-04-02 04:33:55

質問

私はCSVファイルを使ってPythonにデータを出し入れするのに慣れていますが、これには明らかに問題があります。辞書(または辞書のセット)をJSONまたはPythonに格納する簡単な方法はありますか? ピックル ファイルを作成できますか?

例えば、こんな感じです。

data = {}
data ['key1'] = "keyinfo"
data ['key2'] = "keyinfo2"

これを保存する方法と、再び読み込む方法の両方を知りたいのですが。

解決方法は?

ピクルス を保存します。

try:
    import cPickle as pickle
except ImportError:  # Python 3.x
    import pickle

with open('data.p', 'wb') as fp:
    pickle.dump(data, fp, protocol=pickle.HIGHEST_PROTOCOL)

参照 pickleモジュールのドキュメント に関する追加情報については protocol 引数を使用します。

ピックル をロードします。

with open('data.p', 'rb') as fp:
    data = pickle.load(fp)


JSON を保存します。

import json

with open('data.json', 'w') as fp:
    json.dump(data, fp)

のように、追加の引数を指定します。 sort_keys または indent で、きれいな結果を得ることができます。引数 ソートキー はキーをアルファベット順にソートし インデント でデータ構造をインデントします。 indent=N のスペースが必要です。

json.dump(data, fp, sort_keys=True, indent=4)

JSON をロードします。

with open('data.json', 'r') as fp:
    data = json.load(fp)