You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取竖线分隔CSV后提取列触发KeyError问题求助

解决KeyError: ['Alpha3Code'] not in index问题

我来帮你搞定这个问题!你遇到的报错本质是pandas没有正确解析你的竖线分隔CSV文件,导致列名完全不符合预期。

问题根源

你调用pd.read_csv()时没有指定分隔符,pandas默认用逗号,作为分隔符,但你的CSV是用竖线|分隔的。这就导致pandas把整个第一行(包括所有列名和竖线、引号)当成了单个列名,后面的每一行也都被识别成单个列的值。所以你的DataFrame其实只有一列,自然找不到Alpha3Code这个列索引。

解决方案

读取CSV时明确指定分隔符为竖线|,同时因为你的列名和值都被双引号包裹,加上quotechar='"'参数来正确处理引号:

import pandas as pd
# 修正后的读取代码
test = pd.read_csv("http://kejser.org/wp-content/uploads/2014/06/Country.csv", sep='|', quotechar='"')
test.head()

验证效果

执行上述代码后,你可以用test.columns查看列名,会看到正确的列索引:SK_Country, Number, Alpha2Code, Alpha3Code, CountryName, TopLevelDomain。这时候再执行df = test[["Alpha3Code"]]就能成功提取指定列了!

内容的提问来源于stack exchange,提问作者user9807244

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:04:45