[英]python OrderedDict two keys and multiple values -> write to csv to import into excel
在Python中,我該如何將下面的對象寫入一個csv文件,以后可以手動將其導入Excel?
from collections import OrderedDict
import csv
data = OrderedDict([(('2016-11-01', 'USD'), ['ECB News', 'FED News']),
(('2016-11-02', 'EUR'), ['Brexit News']),
(('2016-11-03', 'USD'), ['Yellen Speaking'])])
with open('output.csv', 'wb') as output:
writer = csv.writer(output)
for each in data:
for key, value in each.iteritems(): #<<<<<----- error here
writer.writerow([key, value])
錯誤:
for key, value in each.iteritems():
AttributeError: 'tuple' object has no attribute 'iteritems'
想要的CSV輸出:
2016-11-01;USD;ECB News,FED News
2016-11-02;EUR;Brexit News
2016-11-03;USD;Yellen Speaking
each
是data
字典中的鍵,它正確地表示是一個元組。 您可能只是將iteritems()
放在錯誤的位置:
from io import StringIO
with StringIO() as output:
writer = csv.writer(output, delimiter=';')
for k, v in data.iteritems():
writer.writerow(list(k)+[','.join(v)])
print(output.getvalue())
輸出:
2016-11-01;USD;ECB News,FED News
2016-11-02;EUR;Brexit News
2016-11-03;USD;Yellen Speaking
您可以替換:
for k, v in data.iteritems():
writer.writerow(list(k)+[','.join(v)])
與:
writer.writerows(list(k)+[','.join(v)] for k, v in data.iteritems())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.