如何解决如何将熊猫数据框推送到具有DATE类型的bigquery?
所以我有一个看起来像这样的数据框:
2020-08-23 3956.5801 3244.0070
2020-08-24 3674.2331 2860.3648
2020-08-25 3422.3573 2953.4077
2020-08-26 4493.0424 2876.9254
2020-08-27 3941.6706 2849.1039
2020-08-28 3799.7326 2682.6734
2020-08-29 4062.6515 2863.2884
2020-08-30 3775.3997 2970.6699
2020-08-31 3405.6144 3071.7572
2020-09-01 3630.2723 2651.4049
date
列当前为日期时间类型。当我将此按钮推送到BQ时,它在BigQuery上变成TIMESTAMP
。我尝试仅使用以下方式将其转换为日期
df.date = pd.to_datetime(df.date).dt.date
并被转换,但是当我按下它时,它变成STRING
。许多仪表板都在使用它,所以我不能在数据类型上妥协。我也不能保持手动导出csv并将其导入到bigquery中,因为以编程方式推送此内容的全部目的是创建一个可以按计划执行此操作的脚本。当前的解决方法是自动创建一个csv并推断模式。
解决方法
如果您使用的是pandas.to_gbq
,则可以将模式作为参数:
schema = [
{'name': 'date','type': 'DATE'}
{'name': 'close_high','type': 'FLOAT64'},{'name': 'close_low','type': 'FLOAT64'}
]
df['date'] = pd.to_datetime(df['date']).dt.date # try skipping this line as well
df.to_gqb(tablename,project_id,table_schema=schema)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。