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

如何配置pandas read_csv(),忽略指定列内的分隔符

如何正确导入带引号包裹、含逗号的泰坦尼克号数据集到Pandas DataFrame

我懂你遇到的麻烦了——从Kaggle拿的泰坦尼克号训练数据里,Name字段用双引号包着,里面还带逗号,直接用默认的read_csv导入的话,Pandas会把Name里的逗号也当成列分隔符,导致数据错位,完全不是你想要的结果。

别担心,Pandas早就考虑到这种CSV的常见问题了,只需要给read_csv加个简单的参数就能解决:

核心解决方案:指定quotechar参数

直接告诉Pandas,双引号是用来包裹完整字段的标记,里面的逗号不算分隔符。代码示例如下:

import pandas as pd

# 读取CSV文件,指定quotechar为双引号
titanic_df = pd.read_csv('titanic_train.csv', quotechar='"')

# 验证Name列是否被正确读取
print(titanic_df['Name'].iloc[1])  # 应该输出"Heikkinen, Miss. Laina"

进阶:用quoting参数强化规则

如果你的数据集里所有带特殊字符的字段都用双引号包裹,还可以配合csv模块的QUOTE_ALL常量来更明确地指定规则,这样Pandas会严格识别所有被双引号包裹的内容为单个字段:

import pandas as pd
import csv

titanic_df = pd.read_csv('titanic_train.csv', quoting=csv.QUOTE_ALL, quotechar='"')

这样处理后,像第二条记录里的"Heikkinen, Miss. Laina"就会被完整读取成Name列的单个值,不会在逗号处被拆分,其他列比如空值的Cabin也能正确识别,完美匹配你想要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:12:42