如何将指定CSV文件读取为pandas DataFrame?泰坦尼克号CSV读取列合并问题
解决方案
你可以按以下步骤排查解决:
- 第一步先确认文件实际分隔符,不要默认是逗号。执行以下代码查看文件前两行的原始内容,就能直观看到分隔符类型:
with open("titanic_train.csv", 'r', encoding='utf-8', errors='ignore') as f: print(repr(f.readline())) print(repr(f.readline()))
repr()会把转义字符也打印出来,比如制表符会显示为\t,分号会直接显示为;,避免你看不到隐藏的分隔符。
- 如果确认分隔符确实是逗号,尝试使用以下参数组合读取,覆盖90%以上的异常场景:
df = pd.read_csv( "titanic_train.csv", sep=',', quotechar='"', # 处理被引号包裹的字段内逗号 encoding='utf-8-sig', # 处理文件带BOM头的情况 engine='python' # 兼容更多特殊格式,比默认C引擎容错性更高 ) df.head()
- 如果上述方法仍无效,你可以手动指定列名跳过表头识别测试:
# 先获取实际列数,按列数手动传列名列表 df = pd.read_csv( "titanic_train.csv", sep=',', header=None, names=['PassengerId','Survived','Pclass','Name','Sex','Age','SibSp','Parch','Ticket','Fare','Cabin','Embarked'], skiprows=1 )
内容的提问来源于stack exchange,提问作者vilsef
相关产品推荐
相关产品推荐

