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

2024-09-29 08:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种将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

Tags: csv方法列表字典link情况keysmydict
2条回答

稍微短一点的版本是:

rows = myDict.iteritems()

(或Python 3的.items()

要获取;分隔符,请将delimiter传递到csv.readercsv.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)

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

相关问题 更多 >