首页 > 解决方案 > 即使列存在,也会发生 KeyError

问题描述

我知道这个问题在这里被问了很多,但我一直在查看其他问题,但我没有找到任何使用 .csv 文件的问题。

这是我的 csv 文件:

Survived, Pclass, Sex, Age, Siblings, Parents, Fare  
0, 3, male, 22.0, 1, 0, 7.25  
1, 1, female, 38.0, 1, 0, 71.2833  
1,3,female, 26.0, 0, 0, 7.925  
1, 1, female, 35.0, 1, 0, 53.1

我的代码:

import pandas as pd  
df = pd.read_csv("titanic.csv")  
print(df)  
print(df.columns)  
print(df["Pclass"])

我的代码的第 3 行和第 4 行运行良好,因此第二行或 csv 文件本身可能没有问题,对吧?第 5 行是出错的地方。这是错误消息: 这是错误信息。

奇怪的是,当我尝试使用文件中的第一个标题“Survived”执行第 5 行时,它可以工作。只有其他标题才会发生此错误。如果有帮助,我正在使用 Python 3.7.1 版和 pandas 1.0.3 版。

标签: pythonpandascsvindexingkeyerror

解决方案


中的默认分隔符read_csv是逗号 ( ,)。您的 CSV 文件使用逗号和空格 ( ,)。您需要明确指定此分隔符:

df = pd.read_csv("titanic.csv", sep=', ')  

推荐阅读