Data 전처리하다 보면 날짜 양식이 모두 달라 처리하기 귀찮을 때가 있다.
이때 Datatime 라이브러리를 좀 활용하면 도움이 될까 하여 관련 함수를 공유한다.
import locale
import datetime
import re
def transDateTimeFromInputString(inputDate):
result = ""
datePatterns = {
"koreanPattern" : r"(\d{4})년+(\d{1,2})월+(\d{1,2})일",
"koreanPattern_with_space" : r"(\d{4})년\s+(\d{1,2})월\s+(\d{1,2})일",
"slashPattern" : r"(\d{4})-+(\d{1,2})-+(\d{1,2})",
"dotPattern" : r"(\d{4})\.+(\d{1,2})\.+(\d{1,2})"
}
for key in datePatterns.keys():
if(len(re.findall(datePatterns[key], inputDate))):
print(key)
year, month, day = re.findall(datePatterns[key], inputDate)[0]
result = datetime.date(int(year), int(month), int(day))
print(result)
break
return result
sday = transDateTimeFromInputString("2022-2-21")
eday = transDateTimeFromInputString("2022년2월20일")
sday > eday
datePatterns에 변환 할 prefix 값만 넣으면 dateTime으로 변환되어 날짜 비교 등 이 가능하다.
반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기
'programmer > python' 카테고리의 다른 글
python to elasticsearch (0) | 2022.03.03 |
---|---|
[Crawling] webdriver로 새로운 탭 열고 데이터 수집하기 (0) | 2022.02.23 |
[docker] jupyter-notebook 설치 (0) | 2022.02.01 |
Telegram API 사용해 보기 (0) | 2022.01.17 |
python 크롤링 해보기 (0) | 2021.07.31 |