在python 2.7中将字典写入csv文件

时间:2016-08-11 00:04:34

标签: python csv dictionary

我想写一个如下所示的字典: {' 2234':' 1',' 233':' 60'} 到已创建的新csv文件。 我找到了一个回答这个问题的页面,我在python 2.7中尝试了这个但是在执行我的代码时这仍然给我一个错误:

with open('variabelen.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)  
    for name, items in a.items():    
        writer.writerow([name] + items)

当我执行代码时,这显示为错误:

Traceback (most recent call last):
  File "/Users/Danny/Desktop/Inventaris.py", line 48, in <module>
    Toevoeging_methode_plus(toevoegproduct, aantaltoevoeging)
  File "/Users/Danny/Desktop/Inventaris.py", line 9, in Toevoeging_methode_plus
    writecolumbs()
  File "/Users/Danny/Desktop/Inventaris.py", line 24, in writecolumbs
    writer.writerow([name] + items)
TypeError: can only concatenate list (not "str") to list

1 个答案:

答案 0 :(得分:1)

您正在使用字符串[name]连接列表items - 因此错误。

相反,您只需通过.writerows()撰写items()

with open('variabelen.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerows(a.items())

鉴于a = {'2234': '1', '233': '60'}的价值,它会产生variabelen.csv,内容如下:

233,60
2234,1

行的顺序可能不同,因为Python中的词典是无序集合