使用Python将值列表作为单独的列写入CSV文件

时间:2019-06-28 06:51:48

标签: python python-3.x csv

我正在尝试将列表的元素(每次从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

2 个答案:

答案 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)

实际上,您在不同的行中编写,您不需要这样做。您可以将整个列表写成一行。您需要空格,以便您可以修改列表。