编写python字典到CSV列:键到第一列,值到第二列

编写python字典到CSV列:键到第一列,值到第二列,python,csv,dictionary,Python,Csv,Dictionary,我正在寻找一种为列(第一列中的键和第二列中的值)编写python字典的方法。这显示了如何将列表写入列,但我想知道是否有一种方法可以在不将字典转换为两个压缩列表的情况下完成此操作 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

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

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

略短的版本可执行以下操作:

rows = myDict.iteritems()
(或Python 3的
.items()

获取
分隔符,将分隔符传递给
csv.reader
csv.writer
。在这种情况下:

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

您只需在python 2.X中执行以下操作:

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

对于Python3.X,在myDict.items()中将For循环行更改为
For行:

,这将产生
1;2.3\n;Bc
,不是所需的输出。谢谢!我花了很长时间才找到一个合适的答案,你帮我找到了我的解决方案:
使用open('manifesttest2.csv',“wb”)作为f:writer=csv.writer(f,delimiter=',')writer.writerow(amazonData)
@MichaelRomrell csv的reader和writer对象默认情况下应该使用
作为分隔符(CSV代表逗号分隔的值)。它在不传递参数的情况下工作吗?