我安装了 python包 fred
,使用pip install fred
,从 FRED / ALFRED API 获取实时数据。
我现在的任务是将评估realtime_date
日期与数据相匹配——以便提取与小于或等于我所说的评估日期 ( )的最大值相关的值aDate
。
数据本身在包含列表的 python 字典中返回,每个观察值与一些元数据一起存储在字典中 - 每个观察值字典包含:参考日期 ( date
)、请求覆盖的实时时间段 ( realtime_end
, realtime_start
)和值 ( value
)。
当存在完全匹配时,我可以看到如何将数据与评估日期匹配,但在现实世界中,这些都是例外。我正在寻求帮助将其推广到不等式。
(注意下面我使用了一个变量fredKey
——而您必须提供自己的 FRED API 密钥才能访问 FRED)。
import fred
fred.key(fredKey)
CPIobvs = fred.observations('CPIAUCSL', realtime_start = "1990-01-01")
aDate == "2008-02-15"
for i in range(1, len(CPIobvs['observations']['observation'])):
if CPIobvs['observations']['observation'][i]['realtime_start'] == aDate:
print (CPIobvs['observations']['observation'][i]['date'],
CPIobvs['observations']['observation'][i]['value']
)
对于这个例子,我选择了一个年度基准修订日期,以确保得到一些回报。在实践中,我通常会在记录发生的日期更新模拟——在这种情况下,我的方法什么也不返回。
解决方案似乎是匹配realtime_start
小于或等于评估日期(例如 )的最大日期(值aDate == "2008-02-14"
)。我如何匹配realtime_date
小于或等于的最大值aDate
?
谢谢