辞書を持っています:
mydict = {key1: value_a, key2: value_b, key3: value_c}
次のスタイルで、データを dict.csv ファイルに書き込みます。
key1: value_a
key2: value_b
key3: value_c
私が書いた:
import csv
f = open('dict.csv','wb')
w = csv.DictWriter(f,mydict.keys())
w.writerow(mydict)
f.close()
しかし、今ではすべてのキーが 1 行に、すべての値が次の行にあります。
このようなファイルを書き込むことができたら、それを新しい辞書に読み戻すこともしたいと思います。
コードを説明すると、辞書にはテキスト コントロールとチェックボックス (wxpython を使用) からの値とブール値が含まれています。[設定を保存] ボタンと [設定を読み込む] ボタンを追加したいと思います。設定を保存した場合は、前述の方法で辞書をファイルに書き込み (ユーザーが csv ファイルを直接編集しやすくなるようにするため)、設定を読み込む場合はファイルから読み取り、テキスト コントロールとチェックボックスを更新します。
ベストアンサー1
DictWriter
期待通りには動作しません。
with open('dict.csv', 'w') as csv_file:
writer = csv.writer(csv_file)
for key, value in mydict.items():
writer.writerow([key, value])
読み返すと:
with open('dict.csv') as csv_file:
reader = csv.reader(csv_file)
mydict = dict(reader)
これは非常にコンパクトですが、読み取り時に型変換を行う必要がないことを前提としています。