YOGYUI

Python - 대한민국 공휴일 조회 어플리케이션 (PySide6) 본문

Software/Python

Python - 대한민국 공휴일 조회 어플리케이션 (PySide6)

요겨 2024. 9. 18. 20:56
반응형

Python application - Query Korean holiday from public data portal

블로그 유입로그 리포트를 보면 거의 항상 최상위권에 '공휴일 데이터 조회'가 랭크되어있다

 

물들어올 때 노를 저어보자 ㅋㅋ (사실 추석 연휴 마지막날 심심해서 후딱 만들어본... ㅋㅋ)

단순히 사용법만 안내할 게 아니라 Python과 Qt6를 활용한 어플리케이션을 만든 후 깃허브 저장소를 하나 만들어봤다

https://github.com/YOGYUI/pyside_query_holiday

 

GitHub - YOGYUI/pyside_query_holiday: Query yearly holidays from public data portal (data.go.kr)

Query yearly holidays from public data portal (data.go.kr) - YOGYUI/pyside_query_holiday

github.com

요즘 한창 회사 프로젝트 코드들을 PyQt5에서 PySide6로 마이그레이션하는 작업을 진행하고 있는데, PySide6 사용법을 연습할겸 손풀기에 알맞은 프로젝트였다 ㅎㅎ

1. 깃허브 소스코드 클론

$ git clone https://github.com/YOGYUI/pyside_query_holiday.git

2. 파이썬 구동환경 구축

Python3 버전은 3.7 이상에서 구동되며, 내가 개발한 환경은 3.10.11 이다 (3.11 혹은 3.12 에서는 테스트해보지 않았다)

2.1. 파이썬 가상환경 설치 (선택사항)

$ cd pyside_query_holiday.git
$ python -m venv .venv
$ source .venv/bin/activate

2.2. 필수 패키지 설치

다음 3개의 파이썬 패키지를 활용해 개발한 코드이므로 pip를 통해 설치해주면 된다

  • PySide6
  • requests
  • pandas
$ pip3 install -r requirements.txt

혹은

$ pip3 install -y PySide6 requests pandas

3. 공공데이터포털 데이터 활용 신청

공공데이터포털(data.go.kr)에 회원 가입 후 REST API 활용을 위한 API 키를 발급받고, 한국천문연구원_특일 정보 데이터 활용 신청까지 해줘야 한다

자세한 내용은 아래 글을 참고하면 된다

공공데이터포털::공휴일 데이터 조회 (REST API)

 

공공데이터포털::공휴일 데이터 조회 (REST API)

회사에서 사원별 공수(Man Hour) 관리 프로그램을 하나 만들었는데, 공휴일에는 입력이 안되게 만드는 기능이 필요하게 됐다 파이썬 써드파티 라이브러리 종류도 몇 개 있어 찾아봤는데, 중국의

yogyui.tistory.com

4. 실행

$ python3 main.py

main.py를 실행하면 아래와 같은 창이 뜬다

API 키를 입력하고 연도를 선택 후 'QUERY' 버튼을 클릭하면 해당년도의 공휴일이 모두 조회된다

API 키는 한번만 제대로 입력하면 로컬에 문자열을 직렬화(serialize)해 저장한 뒤 다음 실행 시부터 자동으로 불러오기할 수 있게 편의기능을 추가해뒀다

클립보드로 복사해 Ctrl-V도 가능(엑셀같은 스프레드시트에 붙여넣기하면 된다)하고, CSV 포맷으로 파일 저장 기능도 추가해봤다

※ 구현 방법은 소스 코드를 참고

 

2024년에 새로 추가된 10월 1일 국군의 날 임시공휴일도 정상적으로 조회되는 것을 알 수 있다

2024 공휴일 이름 날짜
1 1월1일 2024-01-01
2 설날 2024-02-09
3 설날 2024-02-10
4 설날 2024-02-11
5 대체공휴일(설날) 2024-02-12
6 삼일절 2024-03-01
7 국회의원선거 2024-04-10
8 어린이날 2024-05-05
9 대체공휴일(어린이날) 2024-05-06
10 부처님오신날 2024-05-15
11 현충일 2024-06-06
12 광복절 2024-08-15
13 추석 2024-09-16
14 추석 2024-09-17
15 추석 2024-09-18
16 임시공휴일 2024-10-01
17 개천절 2024-10-03
18 한글날 2024-10-09
19 기독탄신일 2024-12-25

 

아무쪼록 누군가에게는 유용하게 쓰이길 바라며~

끝!

반응형