2017-11-28 9 views
0

날짜 문자열을 ISO 형식으로 변환하려고하는데 작동하지 않습니다. datetime, time 또는 pandas으로 효율적으로 수행 할 수있는 제안이 있으십니까? 팬더와Python은 2/3/13에서 2013-02-03으로 날짜 형식을 변환합니까?

date = "2/3/13" 
import datetime 
t = datetime.date(*map(int,date.split("/"))) 
format = "'%Y-%m-%d'" 
t.strftime(format) 
# "'0002-03-13'" 
+0

[날짜로 문자열을 변환]의 사용 가능한 복제 (https://stackoverflow.com/questions/466345/converting-string-into- 날짜 시간) –

답변

4

-pandas

pd.to_datetime("2/3/13") 
Timestamp('2013-02-03 00:00:00') 

, 당신은 (대부분의 시간) 수동으로 지정할 필요없이 형식을 추론 할 수있다. 그러나 단순한 datetime 변환을 위해서만 무거운 모듈을 사용하는 것은 무의미한 것처럼 보입니다.

from dateutil import parser 

parser.parse('2/3/13/').date() 
datetime.date(2013, 2, 3) 
- dateutil를 사용하여, (형식 문자열을 전달할 수는 없습니다)

from datetime import datetime as dt 

dt.strptime("2/3/13", '%d/%m/%y') 
datetime.datetime(2013, 3, 2, 0, 0) 

또는, 더 간단한 -

이러한 이유로

, 여기 strptime를 사용하여 동일하게 간단한 파이썬 방법

팬더는 실제로 – unutbudateutil 라이브러리를 사용합니다. 날짜 문자열의 구조가 일관 적이라면이 중 하나를 사용하는 것이 좋습니다.

+0

감사! 타임 스탬프를 포함하지 않는 방법이 있습니까? 나는 할 수있다 :'str (x) .split ("") [0]'그러나 인수가 있다면 확실하지 않았다. –

+1

@BradSolomon 하하 나는 비슷한 질문을 던졌고 그 대답이 도움이 될 수있다. : https://stackoverflow.com/questions/46842793/datetime-conversion-how-to-extract-the-ferred-format –

+1

@BradSolomon : pandas는 [dateutil] (https://dateutil.readthedocs.io/ko/)을 사용합니다. 안정/parser.html) – unutbu

0

날짜/시간을 사용하여 작업 할 때 일부 라이브러리를 좋아합니다. dateparser, parsedatetimearrow

import dateparser as dp 

print(dp.parse("2/13/13")) 
2013-02-13 00:00:00 

print(dp.parse("2/13/13").date()) 
2013-02-13 

print(dp.parse("Yesterday at 2am PST")) 
2017-11-27 13:56:59.290385-08:00 

건배 모두 정말 좋은 선택입니다