使用Python進行PM2.5資料收集儲存到Mysql與資料分析
Step1)建立虛擬環境
Step2)需額外安裝套件
#pip install pandas requests pymysql matplotlib
Step3)將PM2.5放進Mysql資料庫,就可以紀錄與分析每個PM2.5測站的歷史紀錄。
使用政府資料開放平台「https://data.gov.tw/en/datasets/34827」,所提供的json格式網址「https://data.epa.gov.tw/api/v2/aqx_p_02?api_key=e8dd42e6-9b8b-43f8-991e-b3dee723a52d&limit=1000&sort=datacreationdate%20desc&format=JSON」,以回傳最近一小時的全台PM2.5測站資料,以下為回傳結果範例。
[{'site': '大城', 'county': '彰化縣', 'pm25': '4', 'datacreationdate': '2023-08-03 22:00', 'itemunit': 'μg/m3'}, {'site': '富貴角', 'county': '新北市', 'pm25': '21', 'datacreationdate': '2023-08-03 22:00', 'itemunit': 'μg/m3'},...]
Step4)建立Mysql資料庫的資料表,本範例建立資料表pm25格式如下方SQL。
Step5)須先建立接收的Mysql資料庫,設定好主機位址、資料庫名稱、使用者帳號與密碼,使用pymysql進行連線資料庫。
Step6)定義抓取PM2.5資料函式get_pm_history
Step7)進行資料格式轉換再放入資料庫
Step8)整合Step1到Step3所寫的函式,使用定義fetch_data函式抓取資料儲存到資料庫
Step9)呼叫連線資料庫,使用函式fetch_data取出PM2.5資料儲存到Mysql
完整程式碼如下
執行後使用PhpMyAdmin瀏覽結果如下。
在Windows內可以使用「工作排程器」每一個小時執行一次此程式,就可以將每一個小時的PM2.5資料儲存到Mysql。