나는 strftime에 익숙하지만 날짜가 datetime 형식이어야합니다. 제 경우에는 다음과 같은 데이터를 얻습니다 01/Oct/2019:07:34:34 +0900
. 나는 그것을 2019-10-01 07:34:34
.
참고 : 내 날짜는 개체 데이터 유형입니다.
시간대 및 https://www.guru99.com/date-time-and-datetime-classes-in-python.html로 날짜 형식을 읽었 지만 둘 다 datetime (2019, 10)과 같은 datetime 형식이 있다고 가정합니다. , 1, 07, 34, 34)
python에서는 월 이름과 월 번호 덕분에 그 반대도 마찬가지입니다 .
형식을 변경하는 함수를 만들었습니다.
import calendar
month_dict = dict((v,k) for k,v in enumerate(calendar.month_abbr))
def date_formatter(date):
day, month, year_and_time = date.split()[0].split('/')
year, hour, minute, second = year_and_time.split(":")
month = month_dict[month]
return f'{year}-{month}-{day} {hour}:{minute}:{second}'
그런 다음 데이터 프레임으로 작업하고 있으므로 apply + lambda를 사용하여 모든 행에 적용하십시오.
df['new_date'] = df['date'].apply(lambda row: date_formatter(row))
이것은 완벽하게 작동하고 사람들이 나에게 그것을 사용하라고 말할 수 있습니다. 대체 방법이 있는지 궁금합니다.
제공 한 날짜가 문자열이면 다음을 사용하십시오.
from datetime import datetime
myDate = '01/Oct/2019:07:34:34 +0900'
dt = datetime.strptime(myDate, '%d/%b/%Y:%H:%M:%S %z')
dt_to_string = dt.strftime('%Y-%m-%d %H:%M:%S')
print(dt_to_string)
2019-10-01 07:34:34
향후 사용을 위해 https://strftime.org/
편집 : 데이터 프레임에있는 것을 보았습니다.
df['Datetime'] = pd.to_datetime(df['DateTimeColumn'], format='%d/%b/%Y:%H:%M:%S %z')
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다