如何将列表写入CSV文件?

时间:2019-04-12 07:55:07

标签: python python-3.x csv

我一直试图将list放入csv文件中,但它不是将整个单词作为输入而是一个字母,并将每个字母插入单独的单元格中

import csv

data = {}

with open('test.csv','w',newline='') as fp:

    a = csv.writer(fp,delimiter=',')
    data = ['sales','tax']
    a.writerows(data)

输出为:

s       a    l  e   s
t   a   x       

每个字母在单独的单元格中

我需要如下输出:

Sales
Tax

2 个答案:

答案 0 :(得分:5)

.writerows()(复数)需要代表多个行的列表列表(或更准确地说,是一个可迭代的可迭代对象)。使用.writerow()(单数)传递表示一行的单个列表。

为了解释您当前的输出...因为字符串是可迭代的,所以字符串列表看起来像是可迭代的可迭代对象,但是与.writerows()一起使用时,每一列最终都是单个字母。

答案 1 :(得分:3)

data = ['sales','tax']
a.writerows(data)

data视为行列表,而不是单行。试试

data = [['sales', 'tax']]
a.writerows(data)

data是包含单个列表(行)的列表。

data = ['sales', 'tax']
a.writerow(data) # note row not rows

只写一行。