2015-04-20 63 views
1

我有一本字典,我想使用此代碼將數據寫入文件dict.csv:當我運行字典到CSV文件:「ValueError異常:太多值解壓」

file = open('dict.csv', 'wb') 
w = csv.writer(file) 
for key, val in currencies: 
    w.writerow([key, val]) 
    file.close() 

上面的代碼我得到一個'ValueError:太多的值來解壓縮(預期2)'。

如何在不獲取ValueError的情況下將字典寫入csv文件?謝謝。

回答

2

在Python2使用iteritems

for key, val in currencies.iteritems(): 
    w.writerow([key, val]) 

在Python3只需使用items

for key, val in currencies.items(): 
    w.writerow([key, val]) 

還有要記得把file.close()外循環:

for ....: 
    w.writerow([key, val]) 
file.close() 
4

如果你想查閱字典這樣,你需要調用方法iteritems

for key, val in currencies.iteritems(): 
    w.writerow([key, val]) 

由於@tobias_k指出,應該從循環中刪除file.close()

作爲一個方面說明,這裏是另一種方法來完成相同的結果。

for key in currencies: 
    w.writerow([key,currencies[key]]) 
相關問題