如何用Pandas高效清洗并导入含多余字符的CSV文件?
用Pandas正确导入特殊格式CSV(行含包裹引号、分号分隔、转义字段引号)
不用手动做字符串清理,Pandas的read_csv本身就支持配置参数来处理这种特殊格式,这是最高效的方式,核心是匹配你的CSV的三个关键特征:
核心参数配置
针对你的场景,主要调整以下几个参数:
sep=';':指定列分隔符为分号quotechar='"':识别包裹行/字段的引号字符- 根据字段内转义引号的方式,二选一配置:
- 如果字段内用反斜杠转义(比如
"He said \"Hello\";25"),用escapechar='\\' - 如果字段内用双引号转义(比如
"He said ""Hello"";25"),用doublequote=True
- 如果字段内用反斜杠转义(比如
示例代码
场景1:反斜杠转义字段引号
import pandas as pd # 直接导入,无需提前清理 df = pd.read_csv( "your_target.csv", sep=";", quotechar='"', escapechar="\\", header=0 # 首行作为表头,默认值可省略 )
场景2:双引号转义字段引号
import pandas as pd df = pd.read_csv( "your_target.csv", sep=";", quotechar='"', doublequote=True, header=0 )
异常排查小技巧
如果导入仍有问题,可尝试:
- 加
encoding参数指定文件编码(比如encoding="utf-8"或encoding="latin-1"),解决乱码或解析失败 - 用
on_bad_lines='warn'或on_bad_lines='skip'跳过格式异常的行,避免程序崩溃 - 用
nrows=5先导入前几行测试参数是否正确,快速验证配置
内容的提问来源于stack exchange,提问作者Anna
相关产品推荐
相关产品推荐

