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

Python使用csv模块写入CSV文件末尾出现空行如何解决?

CSV文件写入末尾多余空行解决方案

问题根因

Python内置csv模块的writerows方法会为每一行(包含最后一行)末尾追加换行符,打开文件时指定的newline=''参数仅用于解决Windows系统下换行符重复导致的空行问题,无法消除最后一行自带的换行符,因此会出现末尾多余空行的现象。

前置修正

现有代码存在笔误:edit函数中ucty[x][5]为未定义变量,需要替换为accounts[x][5],否则运行会抛出异常。

可行修改方案

你可以选择以下任意一种方案修改save函数即可解决问题:

  • 方案1:先拼接所有CSV内容再一次性写入,适合字段内容无分隔符、不需要额外转义的场景
def save():
    # 拼接所有行内容
    all_lines = [sep.join(row) for row in accounts]
    # 用换行拼接后去除末尾多余换行
    write_content = '\n'.join(all_lines)
    with open(filename, 'w', encoding='utf-8') as f:
        f.write(write_content)
  • 方案2:拆分写入逻辑保留CSV转义规则,适合字段包含分隔符、引号等特殊字符需要严格遵循CSV格式的场景
def save():
    with open(filename, 'w', newline='', encoding='utf-8') as csvfile:
        csvwriter = csv.writer(csvfile, delimiter=sep, quoting=csv.QUOTE_NONE)
        if not accounts:
            return
        # 先写入除最后一行外的所有内容
        if len(accounts) > 1:
            csvwriter.writerows(accounts[:-1])
        # 单独写入最后一行不追加换行
        csvfile.write(sep.join(accounts[-1]))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:45:03