使用Python進行PM2.5資料收集儲存到Mysql與資料分析

Step1)建立虛擬環境

Jupyter Notebook啟動虛擬環境 

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。

請參考使用phpMyAdmin建立資料庫與資料表 

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。