[python] 파이썬 workalendar를 사용하여 특정 날짜의 다음 휴일과 주말이 포함되는 주말과 주말이 아닌 날짜의 개수 계산하기

파이썬의 workalendar 라이브러리는 다양한 국가와 지역의 휴일 정보를 제공해줍니다. 특정 날짜에 대해 다음 휴일과 주말이 포함되는 주말과 주말이 아닌 날짜의 개수를 계산하고 싶다면, workalendar 라이브러리를 사용하면 됩니다.

1. workalendar 설치하기

먼저, workalendar 라이브러리를 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다.

pip install workalendar

2. 코드 작성하기

다음은 특정 날짜의 다음 휴일과 주말이 포함되는 주말과 주말이 아닌 날짜의 개수를 계산하는 파이썬 코드 예시입니다.

from workalendar.asia import SouthKorea
from datetime import date, timedelta

def count_dates(n):
    cal = SouthKorea()
    start_date = date.today() + timedelta(days=1)  # 다음 날짜부터 계산하기 위해 오늘 날짜에 1을 더함
    
    count_weekend = 0  # 주말인 날짜 개수
    count_non_weekend = 0  # 주말이 아닌 날짜 개수
    
    while count_non_weekend < n:
        if cal.is_working_day(start_date):  # 주말이 아닌 날짜인 경우
            count_non_weekend += 1
        else:  # 주말인 날짜인 경우
            count_weekend += 1
        start_date += timedelta(days=1)
    
    return count_weekend, count_non_weekend

# 예시: 10개의 주말과 10개의 주말이 아닌 날짜 개수 계산
weekend_count, non_weekend_count = count_dates(10)

print(f"주말 개수: {weekend_count}")
print(f"주말이 아닌 날짜 개수: {non_weekend_count}")

위 코드에서는 workalendar 라이브러리의 SouthKorea 클래스를 사용하여 한국의 휴일 정보를 가져오고 있습니다. count_dates 함수는 파라미터로 주말과 주말이 아닌 날짜의 총 개수 n을 받아서 계산합니다. 결과는 count_weekendcount_non_weekend 변수에 저장되어 출력됩니다.

참고 문서

  1. workalendar 공식 문서
  2. datetime 모듈