【发布时间】:2016-08-19 10:12:15
【问题描述】:
我想拿这本我有的字典:
table = {2015-11-10:[('pear', 22), ('banana', 50)],
2015-11-13:[('banana', 22), ('apple', 50), ('strawberry', 30), ('pear', 35), ('orange', 2), ('mango', 76)]
2015-11-12:[('banana', 22), ('orange', 50), ('mango', 30), ('strawberry', 35)]
}
with open ('transaction.csv', 'wb') as f:
w = csv.writer(f, delimiter = ',')
w.writerow(['transaction_date', 'fruits', 'quantity'])
for k,v in table.items():
w.writerow([k,v])
我想要打印的是每个键,也就是日期,只有一对元组,所以只有三列。 但是我一直将其打印为:
2015-11-10,"[('pear', 22), ('banana', 50)]"
2015-11-13,"[('banana', 22), ('apple', 50), ('strawberry', 30), ('pear', 35), ('orange', 2), ('mango', 76)]"
2015-11-12,"[('banana', 22), ('orange', 50), ('mango', 30), ('strawberry', 35)]"
而不是这个:
2015-11-10,pear,22
2015-11-10,banana,50
2015-11-13,banana,22
等等。
任何帮助都将不胜感激。谢谢。
【问题讨论】:
-
你能举例说明你的预期输出吗?谢谢
-
dict 中的破折号表示减法:
{2015-11-10 : None} ==> {1994: None}我假设这不是您想要的? -
想要的输出示例:
transaction_date, fruits, quantity\n 2015-11-10, pear, 22\n 2015-11-10, banana, 50\n 2015-11-13, banana, 22\n 2015-11-13, apple, 50\n 2015-11-13, strawberry, 30\n ... -
您不使用
csv.DictWriter的任何原因? -
@TadhgMcDonald-Jensen 我不建议使用它,因为从技术上讲,我只有一本包含多个键和值的字典
标签: python csv dictionary tuples