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

Python写入CSV文件时如何消除每行之间的多余空行

Python写入CSV文件出现多余空行的解决方案

问题原因

在Windows平台使用Python内置csv模块写入文件时,会出现每两行数据之间多一个空行的情况,核心原因是文本写入模式的默认换行规则与csv模块的换行逻辑冲突:

  • csv.writer会自动为每一行末尾添加符合CSV标准的\r\n换行符
  • 内置open()函数在Windows下的默认文本写入模式(w)中,会自动将所有\n替换为\r\n,最终导致行尾变成\r\r\n,渲染出来就是多余的空行

修复后的代码

只需要修改open()函数的参数,添加newline=''即可禁用自动换行转换,完美解决多余空行问题,同时不影响大体积数据集的写入效率:

# 写入CSV无多余空行的代码
import csv
    
# 字段名
fields = ['Name', 'Branch', 'Year', 'CGPA']
    
# CSV数据行
rows = [ ['Nikhil', 'COE', '2', '9.0'],
        ['Sanchit', 'COE', '2', '9.1'],
        ['Aditya', 'IT', '2', '9.3'],
        ['Sagar', 'SE', '1', '9.5'],
        ['Prateek', 'MCE', '3', '7.8'],
        ['Sahil', 'EP', '2', '9.1']]
    
# CSV文件名
filename = "university_records.csv"
    
# 写入CSV文件,添加newline=''参数禁用自动换行转换
with open(filename, 'w', newline='', encoding='utf-8') as csvfile:
    # 创建csv写入对象
    csvwriter = csv.writer(csvfile)
        
    # 写入字段头
    csvwriter.writerow(fields)
        
    # 批量写入数据行
    csvwriter.writerows(rows)

补充说明:额外添加encoding='utf-8'参数是为了避免中文写入时出现乱码,纯英文场景可以省略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:54:04