1. 首先咱們須要找到數據,不少地方提供了api,好比:python
https://www.wunderground.com/weather/api(可是這個網站不提供空氣質量)json
空氣質量可參考:https://www.zhihu.com/question/20939327api
2. 從api獲取數據,使用python,代碼粘出來:app
# -*- coding: UTF-8 -*- import urllib2 import json from datetime import datetime import pandas as pd '''' 最終選擇的特徵有:氣溫tempm, 露點dewptm, 溼度humidity, 風力wspdm, 能見度vism, 氣壓pressurei, 降水precipm 其中,tempm:min max mean, dewptm:min max mean, humidity:humidity, wspdm: min max, vism: mean min max, pressurei: max min mean, precipm:precipm 目標:fog(霧霾) ''' def getdata(month,day,meant,meand,humi,maxw,meanv,meanp,preci,fo): date = datetime(2017, month, day) print day target = 'http://api.wunderground.com/api/{Your Key}/history_{}/q/CN/zmw:00000.1.54511.json?v=wuiapp' f = urllib2.urlopen(target.format(date.strftime('%Y%m%d'))) json_string = f.read() parsed_json = json.loads(json_string) day = parsed_json['history']['dailysummary'] temp = day[0]['meantempm'] #氣溫狀況 dewptm = day[0]['meandewptm'] # 露點狀況 hum = day[0]['humidity'] # 溼度狀況 wspdm = day[0]['maxwspdm'] # 風力狀況 vism = day[0]['meanvism'] # 能見度狀況 press = day[0]['meanpressurei'] # 氣壓狀況 prec = day[0]['precipm'] # 降水狀況 fog = day[0]['fog'] #霧霾狀況 meant.append(temp) meand.append(dewptm) humi.append(hum) maxw.append(wspdm) meanv.append(vism) meanp.append(press) preci.append(prec) fo.append(fog) f.close() if __name__ == '__main__': meantempm = [] meandewptm = [] humidity = [] maxwspdm = [] meanvism = [] meanpressurei = [] precipm = [] f = [] for day in range(1,31): getdata(4, day, meantempm, meandewptm, humidity, maxwspdm, meanvism, meanpressurei, precipm, f) print meantempm #head = [u'溫度',u'露點',u'溼度',u'風力',u'能見度',u'氣壓',u'降水',u'霧霾'] value = [meantempm, meandewptm, humidity, maxwspdm, meanvism, meanpressurei, precipm, f] value = list(zip(*value)) dataframe = pd.DataFrame(value) dataframe.to_csv('/Users/purixingtei/Downloads/output-2.csv', index=False, encoding="utf-8")
其中的Your Key須要被替換成本身的app key,而後主函數的循環,須要根據本身的月-日進行選擇。函數
特別注意一點就是:不要起csv.py的名!!!網站
(loading)ui