2017-10-06 9 views
0

파이썬의 dateutil.parser에 몇 가지 문제가 있습니다.ValueError : 알 수없는 문자열 형식 dateparser python CSV

나는이 달을 읽고 표시하도록하는 CSV 파일이 있습니다.

그룹에 29 Jun 2017 1600이 있고 일부 데이터에는 hrs와 같은 추가 문자열이있을 때마다 "29 Jun 2017 1600 hrs"가 있습니다. 내 코드는 다음 ValueError: Unknown string format

: dt = dateutil.parser.parse(data.GetDataType(frequency))

어떻게이 hrs을 제거하거나 프로그램을 원활하게 실행할 수 있도록 허용 할 것이이 오류가 표시됩니다?

답변

0
# full, working, python 3 solution 
# modified to work on strings with or without "hrs" 
# "$" in re.sub means hrs only matches at end of input string 
# I hope you read this, because I can change this answer, but I cannot comment :-D 

import re 
from datetime import datetime 

stringDateIn1 = "29 Jun 2017 1601" 
stringDateIn2 = "29 Jun 2017 1602 hrs" 

stringDateFixed1 = re.sub(" hrs$", "", stringDateIn1) 
stringDateFixed2 = re.sub(" hrs$", "", stringDateIn2) 

datetimeOut1 = datetime.strptime(stringDateFixed1, '%d %b %Y %H%M') 
datetimeOut2 = datetime.strptime(stringDateFixed2, '%d %b %Y %H%M') 

print("date = " + str(datetimeOut1)) 
print("date = " + str(datetimeOut2)) 
+0

일부 데이터에는 시간이 있지만 일부 데이터에는 시간이 있습니다. hrs의 유무에 상관없이 원활하게 운영되도록하려면 어떻게해야합니까? 도와 주셔서 감사합니다! –