Python:以类似表格式将字典转储到csv文件的列

时间:2015-11-04 15:31:02

标签: python csv dictionary formatting export-to-csv

我有相同class Users(tag: Tag) extends Table[User](tag, "USERS") { ... def role = column[User.Role]("ROLE") ... } 的{​​{1}}字典,需要将它们转储到新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这样的标题显示为子标题。怎么可以在Python中完成?

1 个答案:

答案 0 :(得分:1)

如果您转置列表,则可以写入与您的示例类似的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 3,如果你正在使用python 2 print(map(list, zip(*l)))而不是