파이썬 공공API 테스트
문제
1. 서울시 권역별 실시간 대기환경 현황
https://data.seoul.go.kr/dataList/OA-2219/S/1/datasetView.do
2. 파이썬 requests 모듈을 활용하여 아래 데이터를 MariaDB에 저장하는 프로그램을 만드시오.
(1) row 데이터 중에서 MSRDT(날짜), MSRSTE_NM(지역 ), PM10(미세먼지), IDEX_NM(상태) 4가지 데이터를 파이썬 list로 만들어서 콘솔에 출력하시오.
(2) row 데이터 중에서 MSRDT(날짜), MSRSTE_NM(지역 ), PM10(미세먼지), IDEX_NM(상태) 4가지 데이터를 DB에 저장하시오. (pandas로 변경해서 db에 저장하는 것을 추천)

(3) 추가로 weather.csv 파일로 만드시오.


(4) MariaDB에 저장된 데이터를 select하여 Flask로 웹 화면에 table 형태로 시각화 하시오.

전체 코드
from flask import Flask
from flask.templating import render_template
import requests
import pandas as pd
import sqlalchemy as db
# 공공데이터 파싱해서 판다스로 저장하기
url = 'http://openapi.seoul.go.kr:8088/6d424f64706765743730746d476f47/json/RealtimeCityAir/1/5/'
response = requests.get(url)
responseDict = response.json()
airs = responseDict["RealtimeCityAir"]["row"]
df = pd.DataFrame(airs, columns=["MSRDT","MSRSTE_NM","PM10","IDEX_NM"])
# 마리아디비에 데이터 저장하기
engine = db.create_engine("mariadb+mariadbconnector://python:python1234@127.0.0.1:3306/pythondb")
def insert():
airs = df
airs.to_sql("airs", engine, index=False, if_exists="replace")
insert()
# 마리아디비에서 데이터 셀렉트
select = pd.read_sql(sql="select * from airs", con=engine)
print(select)
# 판다스데이터 html 테이블로 변경
html = select.to_html()
print(html)
# 플라스크 시각화
app = Flask(__name__)
@app.route("/")
def index():
return html
if __name__ == "__main__":
app.run(debug=True, port=5000)