辞書型のデータを一度テキストデータに保存した後、別ファイルで呼び出す際に辞書の機能を保持したい。
例えば
{
'氏名': ['ジョン', 'かわかみ', 'うえだ', 'ポール'],
'性別': ['女', '女', '女', '女'],
'E-mailアドレス': ['john@gmail.com', 'kawakami@gmail.com', 'ueda@gmail.com', 'poul@gmail.com']
}
といった辞書型のデータがあるとします。このデータをtxtデータとして保存した際、別のファイルで活用したいです。
しかしテキストデータとして呼び出すとリストや文字列として扱われ、辞書として機能しません。
うまく、辞書として使いまわしできる方法はないでしょうか?
試したこと、
python
1def write_txt(type_of_dictionary): 2 with open('sample_w2.txt', 'w') as f: 3 for k,v in type_of_dictionary.items(): 4 if sorted(type_of_dictionary.keys())[0] == k: 5 print('run') 6 f.write('{' + '{0}'.format(k) + ':' + str(v) +'\n') 7 8 f.write('{0}'.format(k) + ':' + str(v) +'\n') 9 10 if sorted(type_of_dictionary.keys())[len(type_of_dictionary.keys()) - 1] == k: 11 print('end') 12 f.write('{0}'.format(k) + ':' + str(v) + '}')
これで、テキストデータには、辞書っぽい形として保存されるのですが、文字列として書き込んでいるので、
別ファイルで読み込み、keyを指定したところリストにはkeyが存在しないとでます。
ちなみに、
astライブラリーのliteral_eval()
を使用しましたが、うまくいきませんでした。
よろしくお願いいたします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/18 06:14
2019/10/19 09:14 編集