使用dataretrieval调用NWIS接口时日期变量引发数据获取异常
问题分析与解决
你的代码存在两个关键问题,导致数据获取异常:
参数传递错误
调用nwis.get_record时,parameterCd参数你写的是字符串字面量'pCode',而非定义好的变量pcode。这会让NWIS API接收到错误的参数代码,返回不完整数据。缺失模块导入
代码中使用了date和datetime相关方法,但未导入datetime模块,运行时会直接报错。
修正后的代码
!pip install dataretrieval import datetime from datetime import date import dataretrieval.nwis as nwis lastday = date.today() firstday = (date.today() - datetime.timedelta(days=7)) site = '11502500' pcode = '0060' lastday = lastday.strftime('%Y-%m-%d') firstday = firstday.strftime('%Y-%m-%d') # 修正parameterCd参数,使用变量pcode而非字符串'pCode' df = nwis.get_record(sites=site, service='dv', start=firstday, end=lastday, parameterCd=pcode) df.head()
额外检查点
- 可通过
print语句验证firstday和lastday的格式是否为YYYY-MM-DD - 确认目标站点
11502500在指定日期范围内有可用的日值数据(service='dv'对应日值数据集)
内容的提问来源于stack exchange,提问作者DLS224
相关产品推荐
相关产品推荐

