Python:如何将 UTC 时间戳从 mm/dd/yyyy hh:mm:ss AM 更改为 dd/mm/yyyy hh:mm:ss AM

问题描述

我正在尝试更改 csv 文件中 UTC 时间戳的格式,但似乎没有任何效果。 它一直说有一个 ValueError does not match format '%m/%d/%Y %I:%M:%s %p' 下面是 CSV 列的示例

Example of CSV column

df[' UTC Event Timestamp'] = df[' UTC Event Timestamp'].astype(str)
string_col = str(df)
string_col.strip()

datetime.strptime(string_col,'%m/%d/%Y %I:%M:%s %p')
datetime.strptime(string_col,'%m/%d/%Y %I:%M:%s %p').strftime('%d/%m/%Y %I:%M:%s %p')

print(string_col)

解决方法

df['UTC Event Timestamp'] = pd.to_datetime(df['UTC Event Timestamp'])
df['UTC Event Timestamp'] = df['UTC Event Timestamp'].apply(lambda x: x.strftime('%d/%m/%Y %I:%M:%S %p'))
,

你可以使用

df['string_col'].apply(lambda row: datetime.strptime(row,'%m/%d/%Y %I:%M:%S %p').strftime('%d/%m/%Y %I:%M:%S %p'))

将列转换为日期时间格式。