28

使用 python,我将数据从列表写入 .csv 文件,逐行。

代码:

writer=csv.writer(open(filepath,'wb'))
header=['type','id','numberOfUpdates','isPingEnabled','lastUpdated']
length_list=len(header)
i=0

while i!=length_list :
    data=header[i]
    print data
    i=i+1
    writer.writerow(data)

结果:数据正在写入 csv 文件,但每个字母都打印在每一列中。

例如:类型在一列中写为“t”,下一列中写为“y”,依此类推。我需要将整个单词放在一栏中。有人能指出我能做些什么改变吗?

谢谢

4

2 回答 2

47

更改writer.writerow(data)writer.writerow([data])

.writerow接受一个可迭代对象并为每一列使用该可迭代对象的每个元素。如果您使用只有一个元素的列表,它将被放置在单个列中。

您还应该重组您的循环:

for word in header:
    writer.writerow([word])
于 2013-01-03T06:49:43.903 回答
0

这对我有用:

for item in RESULTS:
     wr.writerow([item,])
于 2020-01-02T12:30:10.943 回答