使用pandas从excel表格中取一列数值报错,注意空格

在使用Pandas从Excel数据中提取列时遇到KeyError,原因是列名'Race'后面有一个不可见的空格。这提醒我们在引用Excel列名时应避免使用空格,最好使用下划线(_)分隔,以防止此类问题。确保列名的准确无误是正确读取数据的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用pandas从excel数据中取某一列时报错:

KeyError Traceback (most recent call last)
E:\ProgramFiles\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
3360 try:
-> 3361 return self._engine.get_loc(casted_key)
3362 except KeyError as err:

E:\ProgramFiles\Anaconda3\lib\site-packages\pandas_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

E:\ProgramFiles\Anaconda3\lib\site-packages\pandas_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: ‘Race’

The above exception was the direct cause of the following exception:

KeyError Traceback (most recent call last)
in
----> 1 df[‘Race’]

E:\ProgramFiles\Anaconda3\lib\site-packages\pandas\core\frame.py in getitem(self, key)
3456 if self.columns.nlevels > 1:
3457 return self._getitem_multilevel(key)
-> 3458 indexer = self.columns.get_loc(key)
3459 if is_integer(indexer):
3460 indexer = [indexer]

E:\ProgramFiles\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
3361 return self._engine.get_loc(casted_key)
3362 except KeyError as err:
-> 3363 raise KeyError(key) from err
3364
3365 if is_scalar(key) and isna(key) and not self.hasnans:

KeyError: ‘Race’

在这里插入图片描述
原因:这个列名写错了,没有加空格。直接用别人的excel表格和代码,运行时报错,发现在原文档中的这一列后面有一股空格!!!所有一般的列名都最好用_分割,用空格很容易忽略。
在这里插入图片描述
一个相同的案例:链接

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值