2011-04-03 165 views
2

如何將以下字典打印到csv文件中?Python:如何將元組值的字典寫入csv文件?

maxDict = {'test1': ('alpha', 2), 'test2': ('gamma', 2)} 

所以,該輸出CSV如下所示:

test1, alpha, 2 
test2, gamma, 2 
+0

嗨溼婆!我看到你已經得到了你的答案,但下次請讓我們知道你自己試過了什麼,而不是讓別人寫你的代碼。在python中有一個幾乎任何常見任務的庫。編寫csv文件的名稱爲csv。這應該很容易找到。如果你沒有在那裏卡住,但從字典中提取鍵和值對,你的問題應該以某種方式反映出來。這就是說,在SO上玩吧。 – zpea 2012-07-09 14:28:45

回答

5
import csv 
with open("data.csv", "wb") as f: 
    csv.writer(f).writerows((k,) + v for k, v in maxDict.iteritems()) 
+0

什麼是使用'編寫者'方法寫入csv?這是一個列表嗎?元組? – siva 2011-04-03 16:19:14

+0

上述代碼中的生成器表達式將元組提供給'writer()',但如果您願意,也可以使用列表。 – 2011-04-03 16:24:06

+0

好的。現在明白了。謝謝。 – siva 2011-04-03 16:26:27

1
maxDict = {'test1': ('alpha', 2), 'test2': ('gamma', 2)} 
csvData = [] 
for col1, (col2, col3) in maxDict.iteritems(): 
    csvData.append("%s, %s, %s" % (col1, col2, col3)) 
f = open('test.csv', 'w') 
f.write("\n".join(csvData)) 
f.close() 
+0

我更新瞭解包元組,使其更具可讀性。 – Prydie 2011-04-04 17:15:46