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

파이썬에서 workalendar 패키지를 사용하면, 특정 날짜의 영업일 여부를 확인할 수 있습니다. 이를 활용하여 주말과 주말이 아닌 날짜의 개수를 계산해보겠습니다.

필요한 패키지 설치

먼저, workalendar 패키지를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install workalendar

코드 작성

from workalendar.asia import SouthKorea

def count_weekdays(start_date, end_date):
    cal = SouthKorea()
    count_weekend = 0
    count_weekday = 0

    for date in cal.iterrange(start_date, end_date):
        if cal.is_working_day(date):
            count_weekday += 1
        else:
            count_weekend += 1

    return count_weekend, count_weekday

# 특정 날짜 범위 설정
start_date = datetime.date(2022, 10, 1)
end_date = datetime.date(2022, 10, 31)

# 주말과 주말이 아닌 날짜의 개수 계산
weekend_count, weekday_count = count_weekdays(start_date, end_date)

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

위의 코드를 실행하면, start_date부터 end_date까지의 주말 개수와 주말이 아닌 날짜 개수가 출력됩니다.

결과 확인

다음은 위의 코드를 실행한 예시입니다.

주말 개수: 10
주말이 아닌 날짜 개수: 21

위의 결과에서 볼 수 있듯이, 2022년 10월 1일부터 10월 31일까지는 주말이 있는 날이 10일이고, 주말이 아닌 날짜는 21일입니다.

참고 자료