如何将UTC时间戳字符串转换为pandas日期时间?

6

我有一个带有如下日期格式的数据框:

PublishDateTime= 2018-08-31 12:00:00-UTC

我使用了panda的to_gbq()函数将数据导入到bigquery表中。在导入数据之前,我确保列的格式与表方案匹配。publishedate是bigquery表中的时间戳。如何实现类似以下的功能:

df['PublishDateTime'] = df['PublishDateTime'].astype('?????')

我尝试使用datetime[ns],但没有成功!

1个回答

13
在此转换中的主要挑战是日期时间的格式。将format="%Y-%m-%d %H:%M:%S-%Z"作为参数传递给pd.to_datetime,并将您的列转换为datetime
df['PublishDateTime'] = pd.to_datetime(df['PublishDateTime'], 
                                       format='%Y-%m-%d %H:%M:%S-%Z', 
                                       errors='coerce')

@MT467 是的,由于错误参数为“coerce”,它会这样做。谢谢。 - cs95
太好了!还有一个问题,我要怎样将这个字符串转换成日期("2018-08-31"),让BigQuery表格里的数据类型变成日期,而不是时间戳? - MT467
@MT467 啊,抱歉,应该是 .dt.date。 - cs95
@MT467 哦,这里想不出来了。我现在不在电脑前,你可能需要等一段时间或者提出一个新的问题。 - cs95
@MT467 你是在使用另一台电脑吗?请确保版本正确。您可能需要使用更新的Python或Pandas版本。 - cs95
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接