【问题标题】:Removing blank rows from csv files using python 3.3使用 python 3.3 从 csv 文件中删除空白行
【发布时间】:2014-02-19 22:23:56
【问题描述】:

我当前的代码会产生所需的输出,但它会在每一行之后插入一个空格。有人可以建议我如何调整此代码以在每行之后省略空格吗?谢谢。

import csv

file1 = open ('Trial_1.csv', 'rt')
reader1 = csv.reader (file1)
file2 = open ('Trial_2.csv', 'rt')
reader2 = csv.reader (file2)
file3 = open ('Trial_3.csv', 'rt')
reader3 = csv.reader (file3)
readers  = (reader1, reader2, reader3)

WriteFile = open ('Trial_merged.csv','w')
writer = csv.writer(WriteFile)

for reader in readers:
    next(reader, None)
    for col in reader:
        writer.writerow (col [0:3])


file1.close()
file2.close()
file3.close()
WriteFile.close()

【问题讨论】:

  • 您的输入文件是否包含空行?

标签: python csv spaces


【解决方案1】:

我怀疑您的输入文件包含空行。如果是这种情况,一个快速的解决方法是在写入之前测试空行:

for reader in readers:
    next(reader, None)
    for col in reader:
        if col:
            writer.writerow (col [0:3])

【讨论】:

    【解决方案2】:

    谢谢。我解决了这个问题。我必须插入 newline='' 作为我的读写参数,它解决了这个问题。我不确定为什么会这样,但也许它暗示程序如果遇到空白,则需要一个新行,从而删除所有空行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      相关资源
      最近更新 更多