Python动态循环函数错误(模块不可调用)

时间:2016-12-07 14:33:52

标签: python function api loops date

我有一个很长的函数从API中提取数据(此处不包括在内)。我使用以下调用来获取输出数据帧。

get_hourly_WSI_latlong_historical (startdate, enddate, lat, long, fields = None)

不幸的是,我无法从API中获得超过一年的数据......

根据堆栈溢出成员的建议,我使用以下wrapper_function来循环更长的日期范围。

def my_wrapper_func(startdate, enddate):
    middle_years = range(startdate.year+1, enddate.year)
    _all = []
    _all.append(get_hourly_WSI_latlong_historical(startdate, datetime(startdate.year, 12, 31), 42.281, 83.743))
    for year in middle_years:
        _all.append(get_hourly_WSI_latlong_historical(datetime(year, 1, 1), datetime(year, 12, 31), 42.281, 83.743))
    _all.append(get_hourly_WSI_latlong_historical(datetime(enddate.year, 1, 1), datetime(enddate.year, 12, 31), 42.281, 83.743))
    return _all

my_wrapper_func(datetime(2014,1,1), datetime(2016,11,8))

不幸的是,我收到以下错误:

enter image description here

1 个答案:

答案 0 :(得分:3)

datetime是模块的名称。您需要datetime.datetime()来获取数据类型。

或者你可以做到

from datetime import datetime  # 'from datetime import *' if you're feeling adventurous
my_wrapper_func(datetime(2014,1,1), datetime(2016,11,8))