小编典典

将字典写入csv文件,每个“键:值”一行

python

我有一本字典:

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()

但是现在我将所有键都放在一行中,而所有值都在下一行中。

当我设法写一个这样的文件时,我也想将其读回到新的字典中。

只是为了解释我的代码,该词典包含来自textctrls和复选框的值和布尔值(使用wxpython)。我要添加“保存设置”和“加载设置”按钮。保存设置应以上述方式将字典写入文件(以使用户更容易直接编辑csv文件),加载设置应从文件中读取并更新textctrl和复选框。


阅读 337

收藏
2020-12-20

共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)

这非常紧凑,但是它假定您在读取时不需要执行任何类型转换

2020-12-20