我有一项数据科学任务,需要获取历史天气数据.我看过wunderground.com,但他们的API示例结构如下:
http://api.wunderground.com/api/d23ac65706dbf6dd/history_YYYYMMDD/q/CA/San_Francisco.json
因此,在尝试构建数据集时,我需要从一年的第一天到一年的最后一天,但不能这样做:
20140101
20140102
20140103
...
20141229
20141230
20141231
Run Code Online (Sandbox Code Playgroud)
我唯一能想到的是:
for m in range(1, 13):
for d in range(1, 32):
r = requests.get("http://api.wunderground.com/api/0def10027afaebb7/history_2014'+str(m)+'/'+str(d)+'/q/Mexico/Mexico_City.json")
data = r.json()
Run Code Online (Sandbox Code Playgroud)
但这显然不会奏效.你会如何在Python中解决这个问题?
这是一个演示如何迭代实际日期的最小示例:
>>> import datetime
>>> start = datetime.date(2014, 1, 1)
>>> end = datetime.date(2014, 1, 5)
>>> while start <= end:
print start.strftime('%Y%m%d')
start += datetime.timedelta(days=1)
20140101
20140102
20140103
20140104
20140105
Run Code Online (Sandbox Code Playgroud)
请参阅该datetime文档以获取更多信息.