我正在尝试将列表的元素(每次从for循环中获取)作为单独的列写入CSV文件。但是元素是作为单独的行而不是列添加的。
我是python的新手。我的代码需要更改什么?请告诉我
import csv
row=['ABC','XYZ','','','ABCD',''] #my list looks like this every time
with open('some.csv', 'w') as writeFile:
writer = csv.writer(writeFile, delimiter=',', quotechar='"')
for item in row:
writer.writerow([item])
但是我得到的输出如下:
ABC
XYZ
ABCD
我的预期输出如下:
ABC XYZ ABCD
答案 0 :(得分:1)
您要遍历列表row
,并在执行writer.writerow([item])
时将每个元素写为代码中的新行。
相反,您想使用writer.writerow
import csv
row=['ABC','XYZ','','','ABCD',''] #my list looks like this every time
with open('some.csv', 'w') as writeFile:
writer = csv.writer(writeFile, delimiter=',', quotechar='"')
#Write the list in one row
writer.writerow(row)
文件看起来像
ABC,XYZ,,,ABCD,
答案 1 :(得分:1)
实际上,您在不同的行中编写,您不需要这样做。您可以将整个列表写成一行。您需要空格,以便您可以修改列表。