PyCharm中运行调用nsepy的Python脚本无输出该如何解决?
问题复现
出现问题的代码如下:
from nsepy import get_history from datetime import date import pandas start_date = date(2021, 5, 1) end_date = date.today() df = get_history(symbol='SBIN', start=start_date, end=end_date) print(df)
排查解决步骤
- 排查静默报错问题
在代码首行添加import faulthandler; faulthandler.enable()开启错误捕获,同时检查PyCharm运行配置的控制台设置,确认没有勾选隐藏输出的相关选项,保证所有报错信息可以正常展示。 - 更新nsepy到最新版本
印度NSE交易所的公开接口规则会不定期调整,旧版nsepy的适配逻辑会直接失效,执行命令pip install --upgrade nsepy升级到最新版本后重试。 - 验证网络连通性
nsepy需要请求NSE官方服务器拉取数据,部分地区网络可能存在访问限制,可先确认本地网络可正常访问NSE相关服务,或配置对应代理后再运行代码。 - 校验接口返回状态
在print(df)之前添加调试代码确认返回结果:
如果返回空数据,可先缩小请求时间范围测试,比如将start_date调整为最近7天的日期,避免长时间段请求被接口限流或拒绝。print("返回数据是否为空:", df.empty) print("返回数据条数:", len(df)) - 校验请求参数合法性
确认标的代码SBIN是NSE市场的正确上市代码,同时确认start_date早于end_date,且end_date未晚于当前最新交易日,非交易日接口不会返回任何数据。 - 修复pandas显示限制
如果确认接口返回了数据但控制台无输出,是pandas默认显示规则导致的内容截断,在导入pandas后添加如下配置即可:pandas.set_option('display.max_rows', None) pandas.set_option('display.max_columns', None)
内容的提问来源于stack exchange,提问作者vikyengg2017
相关产品推荐
相关产品推荐

