我一直在尝试将ctfroot
list
和list
写在python中list
的同一行上。
csv
但我得到了
d=[[1,2,3,4,5,6],[2,3,4,5,6,7]]
timestamp = [0.1, 0.3] # Basically timestamping for each list of d
file = open('test.csv', 'w')
writer = csv.writer(file, delimiter=',',lineterminator='\n')
writer.writerows(zip(d, timestamp))
我希望保存我的col1 , col2
[1,2,3,4,5,6], 0.1
[2,3,4,5,6,7], 0.3
,如下所示:
csv
请有人帮我解决这个问题吗?
答案 0 :(得分:4)
您可以将timestamp
中的每个项目添加到d
中的相应子列表中:
>>> [x+[y] for x, y in zip(d, timestamp)]
[[1, 2, 3, 4, 5, 6, 0.1], [2, 3, 4, 5, 6, 7, 0.3]]
您的代码变为:
...
writer.writerows(x+[y] for x, y in zip(d, timestamp))
在Python 3中,您可以使用扩展解包而无需创建内部列表:
>>> [x+y for x, *y in zip(d, timestamp)]
[[1, 2, 3, 4, 5, 6, 0.1], [2, 3, 4, 5, 6, 7, 0.3]]
答案 1 :(得分:0)
writer.writerows((*a, b) for a, b in zip(d, timestamp))
这会迭代行
(1, 2, 3, 4, 5, 6, 0.1)
(2, 3, 4, 5, 6, 7, 0.3)
(但基本上与this answer中的想法相同)