【问题标题】:Why are blank lines being added in CSV file when running python script multiple times?为什么多次运行 python 脚本时 CSV 文件中会添加空行?
【发布时间】:2025-12-11 15:15:01
【问题描述】:

我目前正在尝试构建一个 python 3 脚本,该脚本将获取一个 csv 文件,读取它,然后复制行并将它们添加到文件的末尾。此脚本将每天运行,因为来自应用程序的数据转储将每天运行。

我有代码“工作”来获取文件并复制它,它在每次运行时都可以工作,但每次都会在文件末尾添加几个空白行。所以例如我第一次运行它时,它在第 1-101 行,但下一次它可能是第 9000-9101 行。

newest = r'C:\Users\me\downloads\Test2.csv'
with open(r'C:\Users\me\downloads\out.csv', 'a', newline='') as repository:
    fileWriter = csv.writer(repository, delimiter=',')
    with open(newest, 'r', newline='') as newData:
        fileReader = csv.reader(newData, delimiter=',')
        next(fileReader)
        for row in fileReader:
            fileWriter.writerow(row)


print("Copy Complete")

我希望它之间没有空行。因为它可能会导致我试图用来查看数据的应用出现问题。

【问题讨论】:

  • 听起来Test2.csv文件末尾有空行
  • 写入文件的空行数是随机的吗?

标签: python python-3.x csv


【解决方案1】:

听起来您用作输入的 csv 包含空行。我会在你的 for row 循环中添加一个检查,以确保你只将带有数据的行添加到你的输出文件中。 This thread 可能有助于检查输入文件中的行是否为空白。

【讨论】:

  • 您知道...有时您会尝试缩小数据集以使其更易于测试,但最终导致的问题比您希望的要多,哈哈。谢谢你..我尝试使用另一个 CSV 并且效果很好。