PYTHON

파이썬 공공API 테스트

파이썬 공공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로 만들어서 콘솔에 출력하시오.

viscose

(2) row 데이터 중에서 MSRDT(날짜), MSRSTE_NM(지역 ), PM10(미세먼지), IDEX_NM(상태) 4가지 데이터를 DB에 저장하시오. (pandas로 변경해서 db에 저장하는 것을 추천)
sequel pro
(3) 추가로 weather.csv 파일로 만드시오.
squeal procss
(4) MariaDB에 저장된 데이터를 select하여 Flask로 웹 화면에 table 형태로 시각화 하시오.
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)

최신글