使用to_gbq向BigQuery导入CSV数据报StandardSqlDataType无STRING属性错误
问题原因
该报错由google-cloud-bigquery与其依赖的google-api-core版本不兼容导致:新版google-api-core调整了StandardSqlDataType类的枚举成员定义,当前安装的google-cloud-bigquery版本未适配该改动。
解决步骤
- 第一步:卸载所有相关冲突包
普通pip环境执行:
Conda管理的环境执行:pip uninstall -y google-cloud-bigquery google-api-core google-cloud-core google-authconda remove -y google-cloud-bigquery google-api-core google-cloud-core google-auth - 第二步:安装经过验证的兼容版本组合
普通pip环境执行:
Conda管理的环境执行:pip install google-cloud-bigquery==3.11.4 google-api-core==2.11.1conda install google-cloud-bigquery=3.11.4 google-api-core=2.11.1 - 第三步:若涉及pandas、pyarrow依赖,同步安装兼容版本避免后续读写报错
pip install pandas==2.0.3 pyarrow==12.0.1 - 第四步:完全重启Python运行环境(关闭重启终端、Jupyter、IDE等运行载体),再重新执行
to_gbq代码即可。
冲突排查补充
如果执行上述操作后仍报错,可执行以下命令查看所有google相关包版本,统一调整适配版本即可:
pip list | grep google
内容的提问来源于stack exchange,提问作者AmaniAli
相关产品推荐
相关产品推荐

