如何将Python字典写入csv文件

我有什么,我认为应该是一个非常简单的任务,我似乎无法解决。

我有什么,我认为应该是一个非常简单的任务,我似乎无法解决。

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

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

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

问题是,上面的代码似乎只将键写入第一行,就是这样。

有什么想法吗?

246

您使用的是DictWriter.writerows(),它需要一个字典列表,而不是一个字典。您希望DictWriter.writerow()写入一行。

如果您想要 csv 文件的标题,您还需要使用DictWriter.writeheader()

您可能还想查看opening filesthe with statement。它不仅更具 pythonic 和可读性,而且可以为您处理关闭,即使发生异常。

进行这些更改的示例:

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
115

您的代码非常接近工作。

尝试使用常规的csv.writer而不是DictWriter。后者主要用于编写字典列表。

下面是一些代码,将每个键 / 值对写入一个单独的行:

import csv
somedict = dict(raymond='red', rachel='blue', matthew='green')
with open('mycsvfile.csv','wb') as f:
    w = csv.writer(f)
    w.writerows(somedict.items())

相反,如果你想在一行上的所有键和下一个所有的值,这也很容易:

with open('mycsvfile.csv','wb') as f:
    w = csv.writer(f)
    w.writerow(somedict.keys())
    w.writerow(somedict.values())

专业提示:在开发这样的代码时,将编写器设置为w = csv.writer(sys.stderr),这样您可以更容易地看到正在生成的内容,当逻辑完善时,切换回w = csv.writer(f)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(529)
使用 python进行梯度计算
上一篇
计算机崩溃并显示HDMI无信号 必须拔下电源才能重新启动
下一篇

相关推荐

  • mac python 安装包:在 Mac 上安装 Python 的简易步骤

    Mac OS X上安装Python的步骤如下:从Python官网下载最新的Python安装包,并双击打开安装文件。…

    2023-01-17 09:44:22
    0 13 98
  • scrapy爬虫案例python:爬取网站中图片的Scrapy爬虫实现

    Scrapy爬虫案例Python是一种基于Python的爬虫框架,可以用来抓取网页内容并将其存储到本地文件中。下面是一个使用Scrapy爬取网站内容的简单示例:…

    2023-01-23 14:42:30
    0 88 65
  • python和c语言哪个好学:如何选择Python或C语言?

    示例示例Python和C语言哪个好学,这个问题的答案取决于个人的能力和兴趣。Python是一种动态类型的高级编程语言,它拥有易于理解的语法,并且比C语言更加容易上手,因此对于初学者来说,Python更容易学习。例如,下面的代码可以用来打印“Hello World”:…

    2023-01-20 05:04:45
    0 53 43
  • python encode函数编码你的字符串

    示例示例Python encode函数是Python中的字符串编码函数,它将Unicode字符串转换成指定编码格式的字节序列。代码示例:…

    2023-01-23 14:35:36
    0 20 25
  • python 远程执行命令:为“hello world”的文档import os os.system('echo hello w

    示例示例Python 远程执行命令是指在本地机器上使用 Python 脚本来远程控制其他远程机器,从而实现在远程机器上执行指定的命令。下面是一个使用 Python 远程执行命令的示例代码:…

    2023-01-25 13:58:58
    0 76 12
  • python字符格式化Welcome to Python!

    Python字符格式化是指使用Python中的格式化字符串功能来替换字符串中的特定值。这个功能可以让你更轻松地将变量值插入到字符串中,而不必一个一个字符地替换。…

    2023-01-26 13:55:05
    0 70 88
  • mac配置python:如何在Mac上配置Python环境

    Mac OS X系统自带Python 但是有时候我们需要安装更新的Python版本。下面介绍如何在Mac上配置Python:下载Python:打开https://www.python.org//,下载最新版本的Python安装包,并双击运行它。…

    2023-01-24 05:41:24
    0 51 74
  • python 字符串 format^20}'.format('Welcome')

    Python字符串格式化是一种把变量嵌入到字符串中的方法,可以用来格式化字符串。它使用特殊的语法来替换字符串中的占位符。格式化字符串的函数是format(),它基于C语言的printf()函数。…

    2023-01-14 08:06:16
    0 97 26

发表评论

登录 后才能评论

评论列表(19条)