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

使用pandas.read_csv读取TSV文件时编码问题致行读取错误

解决pandas读取TSV时\r\n未被识别为换行符的问题

方法1:直接指定换行符参数

在pandas.read_csv()中显式设置lineterminator='\r\n',强制让pandas将\r\n识别为换行标记,无需额外替换字符串:

import pandas as pd
df = pd.read_csv("file_name.tsv", sep="\t", lineterminator="\r\n")

方法2:预处理文件统一换行符

如果方法1无效,大概率是文件中存在混合换行符(比如同时有\n和\r\n),可以先手动预处理文件内容:

import pandas as pd

# 读取原始文件并统一换行符
with open("file_name.tsv", "r", encoding="utf-8") as f:
    content = f.read().replace("\r\n", "\n")

# 写入临时文件(也可直接用StringIO做内存操作,避免生成物理文件)
with open("processed_file.tsv", "w", encoding="utf-8") as f:
    f.write(content)

# 读取处理后的文件
df = pd.read_csv("processed_file.tsv", sep="\t")

如果需要更灵活处理所有类型的换行符,可用正则表达式统一替换:

import re
content = re.sub(r'\r\n|\r|\n', '\n', content)

方法3:处理字段内的换行干扰

如果长条目本身包含未转义的\r\n(比如字段内容里的换行),会导致pandas误判行边界,此时可以指定quoting参数强制识别带引号的字段:

import pandas as pd
import csv

df = pd.read_csv("file_name.tsv", sep="\t", lineterminator="\r\n", quoting=csv.QUOTE_ALL)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:27:36