2015-11-20 191 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)