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

使用pandas_datareader调用iex数据源报错NotImplementedError求助

解决pandas_datareader使用IEX数据源报错的问题

这个报错的核心原因是pandas_datareader中的旧"IEX"数据源已经被弃用且不再维护,IEX官方已经把公开数据服务迁移到了IEX Cloud,需要通过API密钥才能访问数据。下面给你两种可行的解决方案:

方案一:使用IEX Cloud(官方推荐)

  1. 更新pandas_datareader到最新版本
    旧版本的pandas_datareader可能没有支持IEX Cloud的接口,先通过pip更新:

    pip install --upgrade pandas-datareader
    
  2. 获取IEX Cloud API密钥
    去IEX Cloud平台注册一个免费账号,就能拿到你的公开API密钥(免费额度足够个人日常使用)。

  3. 修改代码适配IEX Cloud
    把数据源改为iexcloud,并传入你的API密钥:

    import pandas_datareader.data as web
    import datetime
    
    # 替换成你自己的IEX Cloud公开API密钥
    IEX_API_KEY = 'your_public_api_key'
    
    start = datetime.datetime(2015, 1, 1)
    end = datetime.datetime(2017, 1, 1)
    
    # 使用iexcloud数据源获取FB数据
    facebook = web.DataReader('FB', 'iexcloud', start, end, api_key=IEX_API_KEY)
    print(facebook.head())
    

方案二:使用替代数据源(无需API密钥)

如果不想注册API密钥,可以用yfinance(原Yahoo Finance数据源的替代库,目前维护状态良好):

  1. 安装yfinance

    pip install yfinance
    
  2. 编写获取数据的代码

    import yfinance as yf
    import datetime
    
    start = datetime.datetime(2015, 1, 1)
    end = datetime.datetime(2017, 1, 1)
    
    # 下载FB的股票数据
    facebook = yf.download('FB', start=start, end=end)
    print(facebook.head())
    

补充说明

你之前遇到的NotImplementedError: data_source='iex' is not implemented,是因为pandas_datareader已经移除了旧的无认证IEX数据源接口,现在只能通过IEX Cloud的认证接口访问,或者选择其他第三方数据源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:18:35