[python] dateutil의 parserinfo 클래스를 사용하여 날짜 구문 분석 로케일 설정

dateutil은 파이썬에서 날짜 및 시간을 처리하는 유용한 도구입니다. dateutil.parser 모듈은 문자열로 표현된 날짜를 파이썬의 datetime 객체로 변환하는 기능을 제공합니다. 이 모듈을 사용하여 날짜를 구문 분석할 때 로케일을 설정하려면 parserinfo 클래스를 사용할 수 있습니다.

parserinfo 클래스 소개

parserinfo 클래스는 dateutil.parser 모듈에서 사용하는 클래스로, 구문 분석할 때 날짜의 형식과 로케일을 지정합니다. parserinfo 클래스는 year, month, day, hour, minute, second, microsecond와 같은 속성들을 포함하며, 이를 통해 파싱된 날짜 문자열을 datetime 객체로 변환할 수 있습니다.

로케일 설정하기

dateutil.parser.parserinfo 클래스를 상속받아 사용자 정의 parserinfo 클래스를 만들어 로케일을 설정할 수 있습니다. 아래는 예시입니다:

from dateutil import parser
from dateutil.parser import parserinfo

class CustomParserInfo(parserinfo):
    MONTHS = [('1월', '1월'), ('2월', '2월'), ('3월', '3월'), ('4월', '4월'), ('5월', '5월'), ('6월', '6월'),
              ('7월', '7월'), ('8월', '8월'), ('9월', '9월'), ('10월', '10월'), ('11월', '11월'), ('12월', '12월')]
    WEEKDAYS = [('월', '월'), ('화', '화'), ('수', '수'), ('목', '목'), ('금', '금'), ('토', '토'), ('일', '일')]

# 사용자 정의 parserinfo 클래스를 사용하여 로케일 설정
custom_parser = parser.parser(parserinfo=CustomParserInfo())

# 날짜 구문 분석하기
date_string = "2022년 1월 1일"
parsed_date = custom_parser.parse(date_string)

# 결과 출력
print(parsed_date)

위의 코드에서는 CustomParserInfo 클래스를 정의하여 월(MONTHS)과 요일(WEEKDAYS)의 한글을 사용하도록 설정하였습니다. 이제 dateutil.parser를 사용하여 ‘2022년 1월 1일’과 같은 한글로 표시된 날짜를 파이썬 datetime 객체로 분석할 수 있게 되었습니다.

참고 자료