使用Pandas从DataFrame获取数据时遇KeyError: 'autor'问题求助
问题
运行下面的代码时,print(data.titulo)能正常输出,但执行print(data.autor)却报错KeyError: 'autor'。确认CSV文件里autor列确实存在、拼写无误,而且print(data)能显示出这一列,怎么才能成功获取该列数据?
相关代码
import pandas data = pandas.read_csv("databooks.csv") print(data.titulo)
报错信息
KeyError: 'autor'
解决办法
- 排查列名的不可见字符:执行
print(data.columns.tolist())查看所有列名的真实内容,可能autor列名前后有空格、制表符这类看不见的字符。如果是这种情况,用data.columns = data.columns.str.strip()去掉列名两端的空白后再尝试访问。 - 换用方括号索引:直接写
print(data['autor']),属性访问(.)有时候会因为列名和pandas内置属性冲突、或者包含特殊字符失效,但方括号索引的兼容性更好。 - 手动指定列名读取:如果列名本身格式有问题,读CSV时可以手动指定列名,比如
data = pandas.read_csv("databooks.csv", names=['titulo', 'autor'], header=0)(替换成你实际的列名列表)。
内容的提问来源于stack exchange,提问作者Rubén Domínguez
相关产品推荐
相关产品推荐

