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

发布于 2021-01-29 19:37:12

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

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

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

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

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

有任何想法吗?

关注者
0
被浏览
388
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您使用的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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看