Python写入CSV文件在Excel中出现空行的问题及修复咨询
修复CSV写入后Excel打开出现空白行的问题
嘿,这个问题我之前踩过一模一样的坑!Excel打开CSV时出现空白行,核心原因是换行符被双重处理了,咱们来快速修复你的函数:
问题根源
在Windows系统中,用默认的文本模式open('w')打开文件时,Python会自动把代码里的\n转换成系统默认的换行符\r\n;而csv.writer本身也会在每一行末尾写入标准的CSV换行符\r\n。这么一来,最终文件里的每行结尾就变成了\r\r\n,Excel识别的时候会把额外的\r当成空行,就出现了你看到的问题。
修复方案(官方推荐)
只需要在打开文件时指定newline='',让csv模块自行处理换行符,避免Python的自动转换。修改后的函数如下:
import csv # 记得确保导入了csv模块哦 def fileWrite(output,failed_list_csv_out): # 关键:添加newline=''参数 with open('SampleId_ExecutionId.csv','w', newline='') as fileToWrite: writer = csv.writer(fileToWrite) writer.writerows(output) writer.writerows(failed_list_csv_out)
补充说明
newline=''是Python官方文档针对csv模块推荐的写法,它会告诉Python不要干预换行符的处理,完全交给csv.writer来生成符合标准的换行格式。- 如果你用的是非常旧的Python版本(比如2.x),也可以尝试用二进制模式
open('wb')打开文件,但更推荐上面的方法,兼容性更好。
内容的提问来源于stack exchange,提问作者user8128927
相关产品推荐
相关产品推荐

