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

从NASDAQ Other Symbols FTP导出读取Symbol列时触发KeyError

可能导致KeyError的原因分析
  • 字段名存在大小写或空格差异:不同交易所的FTP文件里,字段名可能并非严格的Symbol——比如NYSE文件的字段可能是小写的symbol、开头带空格的 Symbol,或是结尾带空格的Symbol 。建议先执行print(df.columns)输出实际列名,确认是否存在这类格式差异。

  • 文件分隔符不匹配:不同交易所的文件可能使用不同的分隔符,比如NASDAQ用逗号,NYSE用制表符或多空格分隔。如果代码统一用逗号作为分隔符读取,会导致非逗号分隔的文件解析错误,列名无法被正确识别。可以检查pd.read_csv()的sep参数,针对不同交易所的文件指定对应的分隔符,或尝试用sep='\s+'处理空格分隔的场景。

  • 文件表头行位置不一致:部分交易所的文件可能在正式数据前包含注释行、说明行,导致pandas读取时错误地将非表头行当作列名。可以通过skiprows参数跳过前几行,或用header参数指定正确的表头行索引(比如header=1表示用第二行作为表头)。

  • 文件编码格式差异:不同文件的编码可能不同,比如UTF-8、ISO-8859-1等,编码不匹配会导致列名读取时出现乱码或解析失败。可以尝试在pd.read_csv()中指定encoding参数,比如encoding='utf-8'或encoding='latin-1'。

  • 文件结构实际存在差异:即使你认为文件包含Symbol字段,不同交易所的文件结构可能本身就有区别,或是文件已更新导致字段名变更。建议先打印读取后的DataFrame内容(比如print(df.head())),直观确认实际列名和数据结构是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 01:39:51