일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Bestin
- 라즈베리파이
- 미국주식
- ConnectedHomeIP
- Home Assistant
- RS-485
- 매터
- 파이썬
- 나스닥
- 국내주식
- 주식
- 공모주
- SK텔레콤
- 현대통신
- 해외주식
- 힐스테이트 광교산
- matter
- Espressif
- homebridge
- esp32
- cluster
- Python
- 배당
- 월패드
- 홈네트워크
- Apple
- 빅데이터분석기사
- 애플
- raspberry pi
- MQTT
- Today
- Total
YOGYUI
Python - 대한민국 공휴일 조회 어플리케이션 (PySide6) 본문
Python application - Query Korean holiday from public data portal
블로그 유입로그 리포트를 보면 거의 항상 최상위권에 '공휴일 데이터 조회'가 랭크되어있다
물들어올 때 노를 저어보자 ㅋㅋ (사실 추석 연휴 마지막날 심심해서 후딱 만들어본... ㅋㅋ)
단순히 사용법만 안내할 게 아니라 Python과 Qt6를 활용한 어플리케이션을 만든 후 깃허브 저장소를 하나 만들어봤다
https://github.com/YOGYUI/pyside_query_holiday
요즘 한창 회사 프로젝트 코드들을 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)
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 |
아무쪼록 누군가에게는 유용하게 쓰이길 바라며~
끝!
'Software > Python' 카테고리의 다른 글
2024년 공휴일을 알아보자 (공공데이터포털 OpenAPI) (0) | 2024.01.02 |
---|---|
2023년 공휴일을 알아보자 (공공데이터포털 OpenAPI) (0) | 2022.12.31 |
Python - 대출 이자 계산기 앱 개발 (1) | 2022.04.21 |
PyQt5 - QSpinBox 0x7FFFFFFFF 이상 최대값으로 설정하기 (0) | 2022.02.08 |
Python::typing::Literal - 변수값 범위 명시 (2) | 2022.01.24 |