You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用csv库读写CSV文件时如何过滤或删除末尾空白行

解决方案

方法1:读取时过滤空行(无需修改原有写入逻辑)

空行被csv.reader解析后会得到空列表,直接做布尔判断跳过即可,修改后的代码如下:

import csv
hourList = []
with open("reports/totalHours.csv", "r") as report:
    reader = csv.reader(report)
    for row in reader:
        # 空列表布尔值为False,直接跳过空白行
        if row:
            hourList.append(row)
            # 如果不需要逐次打印追加过程,可将print移到循环外
            print(hourList)

额外说明:你原有输出出现两次打印,是因为print语句放在了for循环内部,每遍历一行就会打印一次当前hourList的状态,将print移到循环外仅会输出最终的结果列表。

方法2:写入时从根源避免生成多余空行(推荐)

Python csv模块写入文件时,若打开文件未添加newline=''参数,会自动插入多余的换行符,即便是append模式也适用该规则,写入时的参考代码如下:

import csv
# 追加模式打开时添加newline=''参数即可避免生成空白行
with open("reports/totalHours.csv", "a", newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    # 此处替换为你实际要写入的行内容
    writer.writerow(["000", "40"])

该写法是csv模块官方推荐的兼容写法,可同时适配Windows、Linux、macOS平台,不会产生多余的空白行。

内容的提问来源于stack exchange,提问作者Adsnipers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:54:00