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

时间:2017-01-02 23:20:47

标签: python csv jupyter-notebook

假设input.csv有这样一行:

1,2,3,4,5

我们也说output.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]"

我做错了什么?

2 个答案:

答案 0 :(得分:0)

writerow接受一个数组并将该数组的每个元素写入CSV文件。您传递了两个值:'数字:'以及从另一个文件中读取的数组。就像你说的那样:

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

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

您只需要wr.writerow(line)

答案 1 :(得分:0)

我认为你想要将'numbers:'和你的原始文件中的行组合成一个列表。为此,您可以使用列表连接。 我会用以下方式重写脚本的最后一行:

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