2016-11-03 2 views
0

날짜까지 문자열을 파싱하는 중 오류가 발생합니다.dateutil.parser로 현재까지 문자열을 파싱하는 중 오류가 발생했습니다.

ValueError: unknown string format

여기서 재미있는 부분은 그 오류를 던지기 전에 정확한 날짜를 인쇄하고, 내 코드

dateString = "02/11/2016" 
print dateString 
dt = parse(dateString) 
item.date = calendar.timegm(dt.utctimetuple()) 
print dt 

입니다. 전체 로그는 다음과 같습니다.

02/11/2016 2016-02-11 00:00:00 art. 10, comma 1, lettera e Traceback (most recent call last): File "institutional-docs.py", line 60, in dt = parse(dateString) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/parser.py", line 697, in parse return DEFAULTPARSER.parse(timestr, **kwargs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/parser.py", line 303, in parse raise ValueError, "unknown string format" ValueError: unknown string format

+0

이상하게 보입니다. 예제에서 코드를 자르고 붙이셨습니까? 내가 생각할 수있는 유일한 점은 문자열에 숨겨진 문자가있을 수도 있다는 것입니다. –

+0

@ aquil.abdullah 저를 확인하는 방법이 있습니까? – Kanishka

+0

@ aquil.abdullah 내가 사용중인 데이터는 스크랩 된 데이터에서 발생합니다. 유니 코드 문자를 벗어납니다. 이것은 그들을 무시하기 위해 내가 수행하고있는 것입니다. 'unicodedata.normalize ('NFKD', dateString) .encode ('ascii', 'ignore')' – Kanishka

답변

1

time의 사용에는 어떤 문제가 있습니까?

귀하의 질문에 귀하의 parse 기능이 무엇을 지정하지 않으므로 그것이 이상한 방식으로 문자열을 읽는 지 말할 수 없습니다. 나쁜 따옴표를 복사하여 붙여 넣었을 가능성이 있습니다.

import time 
time.strptime("02/11/2016", "%d/%m/%Y") 
+0

"2 nov 2016"형식의 문자열입니다. 시간이 해당 변환을 처리 할 수 ​​있다고 생각하지 마십시오./ – Kanishka

+0

' "% d % b % Y"'시간 모듈을 읽습니다. 당신은 얼마나 많은 것들을 처리 할 수 ​​있는지 놀라게 될 것입니다. – Tom

+0

시도해 볼 것입니다. 고맙습니다. – Kanishka

관련 문제