添加新列python时添加了错误的行

时间:2016-05-02 12:23:08

标签: python csv file-handling

我正在尝试在处理输入csv文件后在csv文件中添加额外的列。但是,我在输出中的每一行之后添加了额外的新行。

以下代码中缺少或错误的内容 -

import csv
with open('test.csv', 'r') as infile:
     with open('test_out.csv', 'w') as outfile:
         reader = csv.reader(infile, delimiter=',')
         writer = csv.writer(outfile, delimiter=',')
         for row in reader:
                colad = row[5].rstrip('0123456789./ ')
                if colad == row[5]:
                    col2ad = row[11]
                else:
                    col2ad = row[5].split(' ')[-1]
                writer.writerow([row[0],colad,col2ad] +row[1:])

我正在处理巨大的csv文件,所以想要摆脱那些额外的行。

1 个答案:

答案 0 :(得分:1)

我在Windows上遇到了同样的问题(你的操作系统也是如此,我认为?)。 CSV和Windows组合在每一行的末尾创建一个\r\r\n(所以:双换行)。

您需要以二进制模式

打开输出文件
with open('test_out.csv', 'wb') as outfile:

其他答案:

Python's CSV writer produces wrong line terminator

CSV in Python adding an extra carriage return