我认为我应该完成一项我似乎无法解决的非常简单的任务。
如何将Python字典写入csv文件?我想要的只是将字典键写入文件的第一行,并将键值写入第二行。
我最接近的是以下内容(我是从别人的帖子中获得的):
f = open('mycsvfile.csv','wb') w = csv.DictWriter(f,my_dict.keys()) w.writerows(my_dict) f.close()
问题是,上面的代码似乎只将密钥写入第一行,仅此而已。我没有将值写入第二行。
有任何想法吗?
您使用的DictWriter.writerows()是期望字典列表而不是字典的列表。您只想DictWriter.writerow()写一行。
DictWriter.writerows()
DictWriter.writeheader()如果您想要csv文件的标头,也将要使用。
DictWriter.writeheader()
您还可能要检查出的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