小编典典

如何将Python字典写入csv文件?

python

我认为我应该完成一项我似乎无法解决的非常简单的任务。

如何将Python字典写入csv文件?我想要的只是将字典键写入文件的第一行,并将键值写入第二行。

我最接近的是以下内容(我是从别人的帖子中获得的):

f = open('mycsvfile.csv','wb')
w = csv.DictWriter(f,my_dict.keys())
w.writerows(my_dict)
f.close()

问题是,上面的代码似乎只将密钥写入第一行,仅此而已。我没有将值写入第二行。

有任何想法吗?


阅读 204

收藏
2020-12-20

共1个答案

小编典典

您使用的DictWriter.writerows()是期望字典列表而不是字典的列表。您只想DictWriter.writerow()写一行。

DictWriter.writeheader()如果您想要csv文件的标头,也将要使用。

您还可能要检查出的with声明为打开文件。它不仅更具Python可读性,而且即使在发生异常时也可以为您处理关闭。

进行以下更改的示例:

import csv

my_dict = {"test": 1, "testing": 2}

with open('mycsvfile.csv', 'w') as f:  # You will need 'wb' mode in Python 2.x
    w = csv.DictWriter(f, my_dict.keys())
    w.writeheader()
    w.writerow(my_dict)

产生:

test,testing
1,2
2020-12-20