2015-11-20 143 views
2

我有一个包含以下内容的词典:写字典到CSV文件

{'Jim': ['1', '9', '5'], 'kim': ['8', '6', '0'], 'lim': ['10', '6', '1'], 'slim': ['8', '8', '2'], 'pimp': ['9', '9', '1'], 'sim': ['8', '7', '1']} 

我的问题是:我如何写这一切到一个CSV文件?

应该写,出现这样的事情在CSV文件:

名XYZ

名2 XYZ

名3 XYZ

...

我曾尝试:

with open('file.csv', 'wb') as csvfile: 
    wr = csv.writer(csvfile) 
    wr.writerow(DICTIONARY) 

回答

0

可以遍历字典项目,并在同一时间写一行:

import csv 

D = {'Jim': ['1', '9', '5'], 'kim': ['8', '6', '0'], 'lim': ['10', '6', '1'], 
    'slim': ['8', '8', '2'], 'pimp': ['9', '9', '1'], 'sim': ['8', '7', '1']} 

with open('file.csv', 'w', newline='') as csvfile: 
    writer = csv.writer(csvfile)  

    for name, items in D.items():  
     writer.writerow([name] + items) 

检查csv.writer文档here
请注意,Python字典是无序的,即在每次运行时可能不会生成相同的文件。

+0

AttributeError的:“字典”对象没有属性“iteritems”在 spamwriter.writerow – pythontamer

+0

([名] + items) TypeError:'str'不支持缓冲区接口 – pythontamer

+0

@pythontamer:我已经更新了Python 3.x语法的代码。 –

0

下面这个代码进入列出成单独的列的列表(通过编辑工作尤金的代码完成)

with open("file.csv', 'w', newline='') as csvfile: 
    writer = csv.writer(csvfile) 
    for name, items in DICTIONARY.items():  
     writer.writerow([name] + items)