【问题标题】:erroneous line added while adding new columns python添加新列python时添加了错误的行
【发布时间】:2016-05-02 12:23:07
【问题描述】:

在处理输入 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 文件,所以想去掉那些多余的行。

【问题讨论】:

  • 您可以发布您的示例输入吗?

标签: python csv file-handling


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 2022-08-10
    • 2011-10-21
    • 1970-01-01
    • 2014-01-09
    • 2013-02-07
    相关资源
    最近更新 更多