简体   繁体   English

将python列表中的数据逐行写入csv

[英]writing data from a python list to csv row-wise

Using python, i am writing data from a list to a .csv file, row-wise.使用 python,我将数据从列表写入 .csv 文件,逐行。

Code:代码:

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)

Result: Data is being written to csv file but each letter is printed in each column.结果:数据正在写入 csv 文件,但每个字母都打印在每列中。

For example: type is written as 't' in one column, 'y' in next column and so on.例如:类型在一行中写为“t”,在下一列中写为“y”,依此类推。 I need the whole word in one column.我需要一栏中的整个词。 Can some one point out what change can i make?有人可以指出我可以做出什么改变吗?

Thanks谢谢

Change writer.writerow(data) to writer.writerow([data]) .writer.writerow(data)更改为writer.writerow([data])

.writerow takes an iterable and uses each element of that iterable for each column. .writerow接受一个可迭代对象,并为每一列使用该可迭代对象的每个元素。 If you use a list with only one element it will be placed in a single column.如果您使用只有一个元素的列表,它将被放置在单个列中。

You should also restructure your loop:你还应该重构你的循环:

for word in header:
    writer.writerow([word])

This work for me:这对我有用:

for item in RESULTS:
     wr.writerow([item,])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM