我有一个看起来像这样的数据框架
d = {'Timestamp': ['Nov 16 10:39:54', 'Nov 16 10:39:54', 'Nov 16 10:39:54', 'Nov 16 10:39:54', 'Nov 16 10:40:17']}
df_sample = pd.DataFrame(data=d)
df_sample.head()
当我试图将其加载到表中时,Redshift似乎抛出了一个错误。我得到这个错误
ProgrammingError: {'S': 'ERROR', 'C': '42601', 'M': 'syntax error at or near "Full"', 'P': '88', 'F': '/home/ec2-user/padb/src/pg/src/backend/parser/parser_scan.l', 'L': '732', 'R': 'yyerror'}
它可以是一个不同的列,但我如何将其转换为更正常的数据时间?
你想
df_sample["iso8601"] = pd.to_datetime(
"2022 " + df_sample.Timestamp, format="%Y %b %d %H:%M:%S"
)
print(df_sample.tail(3).set_index("iso8601"))
输出Timestamp
iso8601
2022-11-16 10:39:54 Nov 16 10:39:54
2022-11-16 10:39:54 Nov 16 10:39:54
2022-11-16 10:40:17 Nov 16 10:40:17
请注意将这些视为UTC时间戳,与当地时区不同的是,因为没有捆绑区域信息还有那些数据