Python to_gbq时间戳-无效模式

Python to_gbq时间戳-无效模式,python,pandas,google-bigquery,Python,Pandas,Google Bigquery,我正在尝试创建pandas数据并将其附加到bigquery表中。我的数据的格式如下 id:asdg-123-asda-23as(字符串) 时间戳:2018-01-01T01:24:29.020Z(时间戳) 测量值1:123.456(浮动) 测量3等 我正在运行的命令是data_frame.to_gbq(…)。我得到了错误 InvalidSchema:请验证DataFrame中的结构和数据类型是否与目标表的架构匹配 从上一篇文章中,我可以看到时间戳与字符串匹配,因此不匹配 我应该如何格式化时间戳列

我正在尝试创建pandas数据并将其附加到bigquery表中。我的数据的格式如下

id:asdg-123-asda-23as(字符串) 时间戳:2018-01-01T01:24:29.020Z(时间戳) 测量值1:123.456(浮动) 测量3等

我正在运行的命令是data_frame.to_gbq(…)。我得到了错误

InvalidSchema:请验证DataFrame中的结构和数据类型是否与目标表的架构匹配

从上一篇文章中,我可以看到时间戳与字符串匹配,因此不匹配

我应该如何格式化时间戳列?bigquery期望什么


我尝试了一些方法(例如pd.to_datetime),但迄今为止运气不佳。

看看这个问题的解决方案:-在这里运行示例代码帮助我解决了一个类似的问题,它将
def\u generate\u bq_schema
直接添加到我的代码中,并根据我创建的表检查结果。此外,请注意,根据Pandas文档,您现在可以使用
table\u schema
参数自己定义模式:感谢Ben P。奇怪的是,如果我使用已定义的模式创建存根表,那么带有附加的data\u frame.to\u gbq将失败。但是,如果我不想处理存根,可以使用data_frame.to_gbq创建表,然后将相同的data_frame.to_gbq追加到该表,这样就可以了。模式是相同的!嗯,是的,听起来很奇怪!也许一个旧的模式被卡在缓存中的某个地方,很高兴您找到了一个解决方法!您能验证这两个表的模式是否相同吗?因为从您的数据格式和您描述的内容来看,您得到的错误似乎是由于表中的“timestamp”字段具有DATETIME。但是,如果您事先没有创建任何表,data_frame.to_gbq命令将为“TIMESTAMP”字段创建带有时间戳的表。这确实与@BenP()共享的SO案例有关