공휴일 데이터 저장

유현민·2022년 6월 22일
0

해당 달에 공휴일이 있는지 확인해야 한다.

API를 검색해보니 이게있었다!

1. 테이블 생성

날짜를 pk로 설정하고, 해당하는 공휴일의 이름을 저장

2. 받아오기

솔직히 한줄 받고 넣고 해도 되는데 그냥 dataframe을 만들어서 넣는걸 연습했다.

앞에서 한거랑 똑같음

import requests
import json
import requests
import pandas as pd
import pymysql
from datetime import datetime
from sqlalchemy import create_engine
from collections import defaultdict


engine = create_engine('mysql+pymysql://bike:dbgusals1@localhost:3306/use_bike')

now = datetime.now()
month = now.month if now.month > 9 else f'0{now.month}'
url = 'http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo'
params = {'serviceKey': '키값',
          '_type': 'json', 'pageNo': '1', 'numOfRows': '10', 'solYear': f'{now.year}', 'solMonth': f'{month}'}

response = requests.get(url, params=params)
json_ob = json.loads(response.content)
json_ar = json_ob.get('response').get('body').get('items').get('item')

dic = defaultdict(list)
for i in json_ar:
    dic['Date'].append(i['locdate'])
    dic['dateName'].append(i['dateName'])
df = pd.DataFrame(dic)
df.to_sql(name='holiday', con=engine, if_exists='append', index=False)

다음은... sql이랑 태블로 연결해봐야지!

profile
smilegate megaport infra

0개의 댓글