字典到CSV文件:' ValueError:解压缩的值太多'

时间:2015-04-20 13:42:18

标签: python csv dictionary

我有一本字典,我正在尝试使用以下代码将数据写入文件dict.csv:

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 个答案:

答案 0 :(得分: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]])

答案 1 :(得分: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()