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

Python 3文本转CSV:如何解决输出文件隔行空行问题

解决CSV文件转换后隔行有空行的问题

这个问题我之前处理过好几次,根源其实是换行符的双重转换!在Windows系统下,Python的文本模式会自动将\n转换为系统默认的换行符\r\n,而csv.writer默认也会输出\r\n作为行结束符,两者叠加就导致每一行后面多了一个额外的换行,表现出来就是每隔一行空一行。

给你两种靠谱的修复方案:

方案一:使用newline=''参数(Python 3+ 推荐)

这是官方文档推荐的正确做法,通过指定newline=''来禁用Python文本模式的自动换行转换,让csv模块自己处理换行符:

import csv

txt_file = r"TestData1.txt"
csv_file = r"TestData1.csv"

# 用with语句自动管理文件生命周期,避免资源泄漏
with open(txt_file, "rt", newline='') as infile:
    in_txt = csv.reader(infile, delimiter='\t')
    with open(csv_file, 'wt', newline='') as outfile:
        out_csv = csv.writer(outfile)
        out_csv.writerows(in_txt)

方案二:指定lineterminator参数

如果你还在使用Python 2,或者需要兼容旧代码,可以直接给csv.writer设置lineterminator='\n',强制用单个换行符:

import csv

txt_file = r"TestData1.txt"
csv_file = r"TestData1.csv"

in_txt = csv.reader(open(txt_file, "rt"), delimiter='\t')
# 手动指定行结束符为\n
out_csv = csv.writer(open(csv_file, 'wt'), lineterminator='\n')
out_csv.writerows(in_txt)

另外提醒一下,尽量使用with语句来打开文件,它会在代码块结束后自动关闭文件,比直接open后忘记关闭要安全得多~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:46:49