[python] dateutil의 parserinfo 클래스를 사용하여 날짜 구문 분석 제어

파이썬 dateutil 라이브러리는 날짜와 시간을 처리하기 위한 강력한 도구입니다. dateutil.parser 모듈을 사용하면 문자열로 표현된 날짜를 파이썬 datetime 객체로 쉽게 변환할 수 있습니다.

dateutil.parser 모듈은 parserinfo 클래스를 제공하여 날짜 구문 분석을 제어할 수 있습니다. 이 클래스를 사용하면 최소 연도, 월, 일 등의 값을 지정하거나 구문 분석에 사용되는 형식을 사용자 정의할 수 있습니다.

다음은 parserinfo 클래스를 사용하여 날짜 구문 분석을 제어하는 예제입니다.

from dateutil import parser
from dateutil.parser import parserinfo

class MyParserInfo(parserinfo):
    MONTHS = parserinfo.MONTHS[:]
    MONTHS[0] = ('January', 'Jan')
    MONTHS[1] = ('February', 'Feb')
    MONTHS[2] = ('March', 'Mar')
    MONTHS[3] = ('April', 'Apr')
    MONTHS[4] = ('May', 'May')
    MONTHS[5] = ('June', 'Jun')
    MONTHS[6] = ('July', 'Jul')
    MONTHS[7] = ('August', 'Aug')
    MONTHS[8] = ('September', 'Sep')
    MONTHS[9] = ('October', 'Oct')
    MONTHS[10] = ('November', 'Nov')
    MONTHS[11] = ('December', 'Dec')

    def __init__(self):
        super(MyParserInfo, self).__init__()
        self.MINYEAR = 1900
        self.PM = ["PM"]
        self.AM = ["AM"]

date_string = "2022년 5월 15일"
date = parser.parse(date_string, parserinfo=MyParserInfo())

print(date)

위의 코드에서 MyParserInfo 클래스는 parserinfo 클래스를 상속받아 사용자 정의 클래스를 만듭니다. 이 클래스에서는 월 이름을 한국어로 변경하고, 최소 연도를 1900년으로 설정하며, AM/PM 형식을 “AM”과 “PM”으로 설정합니다.

parser.parse() 함수는 문자열을 datetime 객체로 변환하는 역할을 수행합니다. parserinfo 매개변수를 사용하여 사용자 정의된 MyParserInfo 클래스를 전달하여 날짜 구문 분석을 제어할 수 있습니다.

위의 예제 코드를 실행하면 “2022-05-15 00:00:00”과 같은 datetime 객체가 출력됩니다.

dateutilparserinfo 클래스를 사용하면 날짜 구문 분석을 더욱 유연하게 제어할 수 있습니다. 자세한 내용은 dateutil 문서를 참조하시기 바랍니다.