python - 将数据帧上传到 bigquery 时,日期类型的对象不是 JSON 可序列化错误?
问题描述
我正在尝试将数据框从 python 上传到 biguquery。我收到以下错误。
日期类型的对象不是 JSON 可序列化的
下面是示例数据框。
product_id 01/05/19 02/05/19 03/05/19
1 187668 191568 189098
2 331527 341754 340158
3 68904 65808 65484
4 32500 38012 36816
5 82677 92106 92148
解决方案
您需要将列的标签转换为可接受的列名:
列名
列名只能包含字母(az、AZ)、数字(0-9)或下划线(_),并且必须以字母或下划线开头。最大列名长度为 128 个字符。
table_schema
您可以通过使用以下参数来做到这一点to_gbq
:
df.to_gbq('db_name.table_name',
project_id='xyz',
if_exists='append',
verbose=False,
table_schema=[{'name': '_' + str(col).replace('-','_'), 'type': 'INT64'}
for col in df.columns]
)
推荐阅读
- javascript - 从 devTools 网络指标获取传输/资源大小和 DOMContentLoaded/加载时间
- python - 将矩阵输出馈送到python中的行输出
- javascript - 为每个新对象创建一个数组
- excel - 查询损坏的女士访问
- python - 为什么我可以访问在 Python 函数之外有条件定义的变量?
- android - 错误:找不到符号类 DaggerAppComponent 版本与其他依赖项冲突
- sql-server - Sqlserver 减去不匹配的列
- google-sheets - Google表格中查询公式中的小数
- java - Glide 使用 URL 从 firebase 加载图像非常缓慢
- angularjs - 使用 ui-router 的基于组件的路由 | AngularJS