使用writerow在同一行中放置元素列表

时间:2018-06-19 14:32:22

标签: python-3.x

这是我的源代码。 xs是时间浮点数字的列表,我试图将列表的所有元素放到同一行。

outFile=open('testing.csv','w',newline='')
writeFile=csv.writer(outFile)
writeFile.writerow(['cell'])
writeFile.writerow(['LevelLine for Impedance Magnitude:',baseline])
writeFile.writerow(['TimeMag (second):',xs])'

首先,我尝试使用for循环加载数字,例如

for i in range(len(xs)-1):
   writeFile.writerow('TimeMag(second):',xs[i])

但是,此代码的输出结果将xs [i]打印在不同的行中。我曾尝试观看视频并检查了CSV writerow功能,但找不到任何将元素列表放在同一行的东西。

我想要这样的输出:

输出: 第1行:单元格 第2行:TimeMag(second):xs [0] xs [1] xs [2],依此类推。

请帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

您已经关闭。传递给writerow()的对象应该是一个平面可迭代的对象,其中包含要写入该行的项目。您的尝试:

writeFile.writerow(['TimeMag (second):',xs])

...不是平坦的,因为它包含两个元素,其中一个(xs)本身就是一个列表。相反,您基本上想将字符串('TimeMag (second):')放在xs列表的前面。这应该可以满足您的期望:

writeFile.writerow(['TimeMag (second):'] + xs)