해당 달에 공휴일이 있는지 확인해야 한다.
API를 검색해보니 이게있었다!
날짜를 pk로 설정하고, 해당하는 공휴일의 이름을 저장
솔직히 한줄 받고 넣고 해도 되는데 그냥 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이랑 태블로 연결해봐야지!