我正在尝试在处理输入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文件,所以想要摆脱那些额外的行。
答案 0 :(得分:1)
我在Windows上遇到了同样的问题(你的操作系统也是如此,我认为?)。 CSV和Windows组合在每一行的末尾创建一个\r\r\n
(所以:双换行)。
您需要以二进制模式:
打开输出文件with open('test_out.csv', 'wb') as outfile:
其他答案: