我正在寻找一种将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
答案 0 :(得分:7)
你可以这样做:
with open('test.csv', 'wb') as f:
writer = csv.writer(f)
for row in myDict.iteritems():
writer.writerow(row)
答案 1 :(得分:3)
稍微缩短版本:
rows = myDict.iteritems()
(对于Python 3,或.items()
。)
要获取;
分隔符,请将delimiter
传递给csv.reader
或csv.writer
。在这种情况下:
writer = csv.writer(f, delimiter=';')