이 형식을 개체로 2020-11-18 10 : 36 : 29.772234 +0000 UTC, 날짜 시간으로 변환하고 싶습니다.
Nov 23 2020
2020-11-20 23:07:59.381081 +0000 UTC
팬더로 csv 파일을 읽고 있으며 데이터 프레임에 개체 인 타임 스탬프 열이 있습니다. 날짜 시간으로 변환 할 수없고 +0000 UTC를 형식으로 읽을 수 없습니다.
다음을 시도했습니다.
datetimeObj = datetime.strptime('2020-11-21 22:16:25.389601 +0000 UTC', '%Y-%m-%d %H:%M:%S.%f %Z')
하지만 % Z는 나에게 오류를주고 있습니다. 파이썬과 팬더 세계의 초보자를위한 조언이 있습니까?
답변
3 LorenaGil Nov 23 2020 at 04:10
% Z 앞에 % z도 추가해야합니다.
- % z는 + HHMM 또는 -HHMM 형식의 오프셋을 나타냅니다.
- % Z는 시간대 이름을 나타냅니다.
이 시도:
datetime_object = datetime.strptime('2020-11-20 23:07:59.381081 +0000 UTC', '%Y-%m-%d %H:%M:%S.%f %z %Z')
1 MrFuppes Nov 23 2020 at 17:31
pandas DataFrame에 해당 형식의 datetime 문자열이 있다고 가정하면 +0000
since pd.to_datetime
wo n't parse +0000
and UTC
at the same time 을 제거하는 것이 좋습니다 .
import pandas as pd
df = pd.DataFrame({'timestamp':["2020-11-20 23:07:59.381081 +0000 UTC"]})
df['datetime'] = pd.to_datetime(df['timestamp'].str.replace(" +0000", "", regex=False))
# df['datetime']
# 0 2020-11-20 23:07:59.381081+00:00
# Name: datetime, dtype: datetime64[ns, UTC]
왜 그냥 벗기지 UTC
않습니까? UTC 오프셋 +0000과는 대조적으로 분명합니다. +0000은 타임 스탬프에 표시된 시간에 UTC + 0이있는 시간대에서 발생할 수도 있습니다.