반응형
대한민국의 공휴일은 양력뿐만 아니라 음력으로도 세기 때문에 매년 달라질 수 있습니다.
파이썬을 이용하여 대한민국의 국경일 및 공휴일을 조회하여 출력해보겠습니다.
먼저, pytimekr 모듈을 사용해보았으나,
pytimekr의 단점은 정확하지 않다는 것입니다.
예를 들어, pytimekr 모듈은 대통령선거일, 전국동시지방선거, 대체 공휴일 등을 공휴일로 출력하지 못합니다.
따라서, 공공데이터포털 한국천문연구원이 제공하는 국경일, 공휴일, 기념일 등을 조회해보겠습니다.
<완성본>
dateKind | dateName | isHoliday | locdate | seq | |
0 | 01 | 1월1일 | Y | 20220101 | 1 |
1 | 01 | 설날 | Y | 20220131 | 1 |
2 | 01 | 설날 | Y | 20220201 | 1 |
3 | 01 | 설날 | Y | 20220202 | 1 |
4 | 01 | 삼일절 | Y | 20220301 | 1 |
5 | 01 | 대통령선거일 | Y | 20220309 | 1 |
6 | 01 | 어린이날 | Y | 20220505 | 1 |
7 | 01 | 부처님오신날 | Y | 20220508 | 1 |
8 | 01 | 전국동시지방선거 | Y | 20220601 | 1 |
9 | 01 | 현충일 | Y | 20220606 | 1 |
10 | 01 | 광복절 | Y | 20220815 | 1 |
11 | 01 | 추석 | Y | 20220909 | 1 |
12 | 01 | 추석 | Y | 20220910 | 1 |
13 | 01 | 추석 | Y | 20220911 | 1 |
14 | 01 | 대체공휴일 | Y | 20220912 | 1 |
15 | 01 | 개천절 | Y | 20221003 | 1 |
16 | 01 | 한글날 | Y | 20221009 | 1 |
17 | 01 | 대체공휴일 | Y | 20221010 | 1 |
18 | 01 | 기독탄신일 | Y | 20221225 | 1 |
1. 준비물
vscode, Python
2. 설치
2-1 공공데이터포털
https://www.data.go.kr/data/15012690/openapi.do
공공데이터포털에 로그인 후, OpenAPI 활용신청을 합니다.
마이페이지에서 일반 인증키(Encoding)을 활용할 예정입니다.
2-2 패키지 설치
from datetime import datetime
import requests
import json
import pandas as pd
from pandas import json_normalize
pip install 패키지명
3. 공공데이터포털 OpenAPI 조회
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(dataframe)
print(dateName.values[0])
key에 인증키를 넣어주세요.
url은 그대로 사용해도 되고, 아래 문서를 확인하여 파라미터에 맞게 추가해줍니다.
(위 코드에 사용된 파라미터는 getRestDeInfo: 공휴일, _type: json, numOfRows: 출력개수, Year: 해당 연도 입니다.)
(_type=json으로 선택하여 응답 데이터를 json형식으로 조회하였습니다.)
반응형
'컴퓨터 > Python' 카테고리의 다른 글
[Python] 파이썬, 터미널 출력 문자에 색상 지정하기 (0) | 2022.08.21 |
---|---|
[Python] 파이썬, PDF 파일을 이미지로 변환 (pdf2image) (0) | 2022.05.30 |
[Python] 파이썬, 네이버 뉴스 웹 크롤링 데이터 수집 (0) | 2022.03.11 |
[Python] 파이썬, 시계열 주식 예측 fbprophet (0) | 2022.01.16 |
[Python] 파이썬, for문에서 remove() 함수 쓸 때 반드시 확인할 것 (0) | 2022.01.07 |