如何使用insert_rows_from_dataframe向已存在的BigQuery表插入DataFrame?
解决BigQuery insert_rows_from_dataframe插入数据报错问题
你的报错原因有两个:
- 变量名不匹配:你定义的表路径变量是
table,但调用时用了未定义的table_path - 参数传递不符合函数要求:
insert_rows_from_dataframe的正确参数顺序是先传DataFrame,再传表标识,或使用正确的关键字参数名
正确调用方式
方式1:位置参数传递
直接使用你已定义的table变量,按顺序传入DataFrame和表路径:
client.insert_rows_from_dataframe(df1, table)
方式2:关键字参数传递
明确指定参数名(注意参数名是dataframe和table,不要写错):
client.insert_rows_from_dataframe(dataframe=df1, table=table)
可选:通过表对象插入
如果上述方式仍有问题,可以先获取已存在的表对象再插入,确保表的引用正确:
# 获取表对象 table_obj = client.get_table(table) # 插入数据 client.insert_rows_from_dataframe(df1, table_obj)
内容的提问来源于stack exchange,提问作者lima
相关产品推荐
相关产品推荐

