如何解决Pandas中访问DataFrame行时出现的KeyError: 'first'异常?
如何解决Pandas中访问DataFrame行时出现的KeyError: 'first'异常?
嘿,我一眼就揪出问题根源啦!你打印出来的列列表是['first;last;title']——这说明你的CSV文件是用**分号(;)**分隔数据的,但Pandas的read_csv默认用逗号(,)当成分隔符,结果整个表头被当成了一个单独的列名,根本没拆分成'first'、'last'、'title'三个独立列,难怪你访问row['first']会报错!
解决方法超简单,只要读取CSV时明确指定分隔符为分号就行:
df = pd.read_csv('poster_presentation.csv', sep=';')
修改后你可以再打印df.columns.tolist()验证一下,这时应该会得到['first', 'last', 'title']的结果,之后再访问row['first']就不会触发KeyError啦。
要是你不确定CSV的分隔符,还可以用sep='\s*;\s*'来匹配可能带空格的分号,或者搭配engine='python'处理特殊情况,但你的场景里直接指定sep=';'就足够解决问题咯。
备注:内容来源于stack exchange,提问作者nina
相关产品推荐
相关产品推荐

