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

Python写入CSV文件每次执行生成空行,如何解决?

解决Python写入CSV时出现空行的问题

你的代码执行后CSV出现空行,主要有两个原因:

  • 换行符重复转换:在Windows系统中,open函数默认的文本模式会把\n自动转换成\r\n,而csv.writer本身也会输出\r\n作为换行符,双重转换后就会出现额外空行。
  • 原文件空行被保留:如果原CSV文件本身存在空行,csv.reader会把空行读取为一个空列表[],写入时这个空列表会被转换成空行。

修改后的代码

import csv  # 原代码遗漏了必要的csv模块导入,需补上

data = []
with open("employee_data.csv", "r") as employee_data:
    reader = csv.reader(employee_data)
    user_id = "336456"
    
    for row in reader:
        # 过滤原文件中的空行
        if not row:
            continue
        if row[0] == user_id:
            leave_type = "n"
            row.append(leave_type)
        data.append(row)
        
# 写入时指定newline='',避免换行符重复转换
with open("employee_data.csv", "w", newline='') as employee_data:
    writer = csv.writer(employee_data)
    writer.writerows(data)

关键修改点

  • 补充csv模块导入:原代码未导入该模块,运行会直接报错。
  • 过滤空行:读取时跳过原文件的空行,避免写入时生成无效空行。
  • 添加newline=''参数:让csv.writer自行处理换行逻辑,解决Windows系统下的双重换行问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:07:48