将python字典写入CSV列:第一列的键,第二列的值

Posted

技术标签:

【中文标题】将python字典写入CSV列:第一列的键,第二列的值【英文标题】:Write python dictionary to CSV columns: keys to first column, values to second 【发布时间】:2014-09-06 07:42:48 【问题描述】:

我正在寻找一种将 python 字典写入列的方法(第一列中的键和第二列中的值)。这个link 展示了如何将列表写入列,但我想知道是否有一种方法可以在不将我的字典转换为两个压缩列表的情况下做到这一点。

myDict = 1:'a', 2:'b', 3:'c'

keyList = myDict.keys()
valueList = myDict.values()

rows = zip(keyList, valueList)

with open('test.csv', 'wb') as f:
    writer = csv.writer(f)
    for row in rows:
        writer.writerow(row)

想要的结果:

1;a
2;b
3;c

【问题讨论】:

【参考方案1】:

你可以简单地在 python 2.X 中做:

with open('test.csv', 'wb') as f:
    writer = csv.writer(f)
    for row in myDict.iteritems():
        writer.writerow(row)

对于python 3.X,将for循环行改为for row in myDict.items():

【讨论】:

【参考方案2】:

做一个稍微短一点的版本:

rows = myDict.iteritems()

(或.items() 用于 Python 3。)

要获得; 分隔符,请将delimiter 传递给csv.readercsv.writer。在这种情况下:

writer = csv.writer(f, delimiter=';')

【讨论】:

这将产生1;2;3\na;b;c,而不是所需的输出。 谢谢!我花了很长时间才找到合适的答案,你帮我找到了我的解决方案:with open('manifesttest2.csv', "wb") as f: writer = csv.writer(f, delimiter=',') writer.writerow(amazonData) @MichaelRomrell CSV 的读取器和写入器对象应默认使用, 作为分隔符(CSV 代表逗号分隔值)。不传参数能行吗?

以上是关于将python字典写入CSV列:第一列的键,第二列的值的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL如何把第二列的数据按照第一列数据排序,且第二列的数据少于第一列?

EXCEL如何把第二列的数据按照第一列数据排序,第二列的数据少于第一列

写入csv文件python的第二列

从 csv 文件创建字典?

如何将两个熊猫列混合到一个数据框中,第一列的第一个元素,第二列的第二个元素等等? [复制]

R语言中怎么把第一列的数据作为行名