我将此格式作为对象2020-11-18 10:36:29.772234+0000 UTC,希望转换为日期-时间



2020-11-20 23:07:59.381081 +0000 UTC

我正在读取一个带有panda的csv文件,在数据帧中有一个时间戳列,它是对象。我无法转换为日期时间,也无法将+00000 UTC读取为格式

我尝试了以下方法:

datetimeObj = datetime.strptime('2020-11-21 22:16:25.389601 +0000 UTC', '%Y-%m-%d %H:%M:%S.%f %Z')

但是%Z给了我错误。任何建议初学者在蟒蛇&大熊猫世界?

您还必须在%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')

假设pandas DataFrame中有该格式的日期时间字符串,我建议删除+0000,因为pd.to_datetime不会同时解析+0000UTC

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的时区。

相关内容

  • 没有找到相关文章

最新更新