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

Python使用csv模块写入文件出现多余空行的原因及解决方法

空行产生的原因

这个问题是Python中csv模块与文本文件默认换行处理逻辑冲突导致的:
在Windows平台下,文本模式打开的文件默认会自动将写入的\n换行符转换为系统默认的\r\n换行序列;而csv模块的writer对象在写入每一行数据时,本身就会自动追加一个换行符。二者叠加后,每行末尾实际会被写入\r\r\n,打开文件时就会表现为两行内容之间多出一个空行。

解决方案

Python 3 环境(主流使用场景)

在调用open函数打开写入的csv文件时,新增newline=''参数,即可禁用文件对象的自动换行转换逻辑,只保留csv模块自带的换行处理:

import csv
# bMap为已经修改后的按键配置列表
f = open('bMap.csv', 'w', newline='', encoding='utf-8')
writer = csv.writer(f, delimiter=',', quotechar='|')
writer.writerows(bMap)
f.close()

额外补充的encoding='utf-8'参数可以避免后续如果有特殊字符绑定配置时出现乱码问题,属于可选优化项。

Python 2 环境

如果仍在使用Python2,将打开文件的模式从文本模式w改为二进制模式wb即可:

f = open('bMap.csv', 'wb')
writer = csv.writer(f, delimiter=',', quotechar='|')
writer.writerows(bMap)
f.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:36:03