반응형
파이썬 공휴일 가져오려면 공공데이터 활용하는게 좋다. 왜냐하면 다른 라이브러리를 대체공휴일 같은 정보를 가져올 수 없기 때문이다.
1. 인증키 획득
2. 파이썬 패키지 설치
3. 소스코드 확인
1. 인증키 획득
일단 사용을 위해서는 공공데이터포털에서 인증키를 가져와야한다.
공공데이터포탈 회원 없는 사람은 먼저 회원가입부터하고 로그인하고 접속한다.
https://www.data.go.kr/data/15012690/openapi.do
한국천문연구원_특일 정보
(천문우주정보)국경일정보, 공휴일정보, 기념일정보, 24절기정보, 잡절정보를 조회하는 서비스 입니다. 활용시 날짜, 순번, 특일정보의 분류, 공공기관 휴일 여부, 명칭을 확인할 수 있습니다.
www.data.go.kr
2. 라이브러리 설치
pip install pandas, requests
3. 파이썬 소스코드
from datetime import datetime
import requests
import json
import pandas as pd
from pandas import json_normalize
class KoreaHolidays:
def __init__(self):
pass
def get_holidays(self):
today = datetime.today().strftime("%Y%m%d")
today_year = datetime.today().year
KEY = "공공데이터 포탈 인코딩된 인증키"
url = (
"http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo?_type=json&numOfRows=50&solYear="
+ str(today_year)
+ "&ServiceKey="
+ str(KEY)
)
response = requests.get(url)
if response.status_code == 200:
json_ob = json.loads(response.text)
holidays_data = json_ob["response"]["body"]["items"]["item"]
dataframe = json_normalize(holidays_data)
# dateName = dataframe.loc[dataframe["locdate"] == int(today), "dateName"]
# print(dateName)
return dataframe["locdate"].to_list()
def today_is_holiday(self):
_today = datetime.now().strftime("%Y%m%d")
holidays = self.get_holidays()
# holidays.append(20220908)
print(holidays)
is_holiday = False
if int(_today) in holidays:
is_holiday = True
print(is_holiday)
return is_holiday
if __name__ == "__main__":
koreaHolidays = KoreaHolidays()
koreaHolidays.today_is_holiday()
반응형