我有与d1, d2, ..., dn
相同的len
词典,需要将它们转储到新的csv
文件的列中。
我希望该文件具有其标题,并且看起来非常像这样:
|STAGE 1 | |STAGE 2 | |TOTAL |
SIM d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15
event 1
event 2
event 3
event 4
event n
每个
d
列应具有下面对齐的相应dictionary
的值,并且tab
应该可以很好地工作以分隔每个列。我知道我可以像这样创建一个
csv
文件:import csv
my_d = {"STAGE 1": 1, "STAGE 2": 2, "TOTAL": 3}
with open('mycsvfile.csv', 'wb') as csvfile:
w = csv.DictWriter(csvfile, my_d.keys())
w.writeheader()
w.writerow(my_d)
但我似乎找不到出路,而且我也没弄清楚如何使
d1
这样的标题显示为子标题。如何用Python完成? 最佳答案
如果对列表进行转置,您将可以像示例一样写入csv
。
h1 = ['a','b','c','d','e']
d1 = [1, 2, 3, 4, 5]
d2 = [1, 2, 3, 4, 5]
d3 = [1, 2, 3, 4, 5]
transpose = [h1, d1, d2, d3]
print(transpose)
print(list(map(list, zip(*transpose))))
输出:
>>>
[['a', 'b', 'c', 'd', 'e'], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]
[['a', 1, 1, 1], ['b', 2, 2, 2], ['c', 3, 3, 3], ['d', 4, 4, 4], ['e', 5, 5, 5]]
>>>
如果您使用的是python 2
print(map(list, zip(*l)))
,则假定您使用的是Python 3