Python:当我读取CSV文件的行,然后将其写入单独的CSV文件时,它全部进入一个单元格



假设输入.csv有一行是这样的:

1,2,3,4,5

假设输出.csv为空,但我希望它包含

numbers:,1,2,3,4,5

我会使用以下代码:

with open('output.csv', 'w') as out:
    wr = csv.writer(out, delimiter=',', lineterminator = 'n')
    with open('input.csv',"rt") as in:
        for line in csv.reader(in, delimiter=','):
            wr.writerow(['numbers:',line])

但是,当我这样做时,output.csv 包含:

 numbers:,"[1,2,3,4,5]"

我做错了什么?

writerow获取一个数组并将该数组的每个元素写入CSV文件。您传递了两个值:"numbers:"和从另一个文件中读取的内容数组。就像你这样称呼的:

w.writerow(['a', ['b', 'c', 'd']])

其中写道:a,"['b', 'c', 'd']".

你只想要wr.writerow(line)

我认为您想将"数字:"和原始文件中的行合并到一个列表中。为此,您可以使用列表串联。我会通过以下方式重写脚本的最后一行:

row = ['numbers:'] + line
wr.writerow(row)

最新更新