将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.reader
或csv.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如何把第二列的数据按照第一列数据排序,第二列的数据少于第一列