使用Pandas读取CSV文件时分隔符失效无法正确拆分数据如何解决
问题原因
你当前代码运行后数据未正确拆分,核心是分隔符参数的转义逻辑不符合pandas解析规则,也可能存在分隔符识别错误的问题。
解决方法
- 第一步先确认CSV源文件的真实分隔符:用文本编辑器打开
data.csv,查看字段之间的分隔符号,常见分隔符包括逗号、制表符、分号、竖线等,避免误将其他符号设置为反斜杠。 - 若确认分隔符为反斜杠:你当前使用的
sep='\\'在Python字符串中会被解析为单个反斜杠,而pandas的read_csv的sep参数默认按正则规则解析,单个反斜杠会被识别为转义标记,无法匹配为分隔符。可改为原始字符串写法sep=r'\\',或者双转义写法sep='\\\\'。 - 适配pandas新版本:
error_bad_lines参数已在pandas 1.3+版本中弃用,替换为on_bad_lines='skip'可避免版本兼容警告。 - 不确定分隔符时可开启自动检测:设置
sep=None配合engine='python',让pandas自动推断文件分隔符,适配性更强。
调整后的代码示例
确认反斜杠为分隔符时:
import pandas as pd df = pd.read_csv('data.csv', encoding='utf-16', sep=r'\\', on_bad_lines='skip') print(df.loc[:3])
不确定分隔符时用自动检测:
import pandas as pd df = pd.read_csv('data.csv', encoding='utf-16', sep=None, engine='python', on_bad_lines='skip') print(df.loc[:3])
内容的提问来源于stack exchange,提问作者Alex Fuss
相关产品推荐
相关产品推荐

