pandas.DataFrame.to_gbq#
- DataFrame.to_gbq(destination_table, *, project_id=None, chunksize=None, reauth=False, if_exists='fail', auth_local_webserver=True, table_schema=None, location=None, progress_bar=True, credentials=None)[源代码]#
将 DataFrame 写入 Google BigQuery 表。
自 2.2.0 版本弃用: 请使用
pandas_gbq.to_gbq代替。此函数需要 pandas-gbq package 。
有关身份验证说明,请参阅 How to authenticate with Google BigQuery 指南。
- Parameters:
- destination_tablestr
目标表名称,格式为
dataset.tablename。- project_idbool, default False
Google BigQuery 账户项目 ID。当可从环境中获取时为可选。
- chunksizeint, optional
将从 DataFrame 插入到每个块中的行数。设置为
None以一次性加载整个 DataFrame。- reauthbool,默认 False
强制 Google BigQuery 重新验证用户。如果您使用多个帐户,这将非常有用。
- if_existsstr, default ‘fail’
目标表存在时的行为。值可以是以下之一:
'fail'如果表存在,则引发 pandas_gbq.gbq.TableCreationError。
'replace'如果表存在,则删除它,重新创建它,并插入数据。
'append'如果表存在,则插入数据。如果不存在,则创建它。
- auth_local_webserverbool, default True
使用 local webserver flow 而不是 console flow 获取用户凭据.
pandas-gbq 0.2.0 版本中的新功能。
在 1.5.0 版本发生变更: 默认值已更改为
True。Google 已弃用auth_local_webserver = False的 “out of band” (copy-paste) flow 。- table_schema字典列表,可选
一个字典列表,用于指定 DataFrame 列对应的 BigQuery 表字段,例如
[{'name': 'col1', 'type': 'STRING'},...]。如果未提供 schema,则将根据 DataFrame 列的 dtypes 生成。有关可用字段名称,请参阅 BigQuery API 文档。pandas-gbq 版本 0.3.1 中新增。
- locationbool, default False
加载作业应运行的地点。有关可用地点列表,请参阅 BigQuery locations documentation 。地点必须与目标数据集的地点匹配。
pandas-gbq 版本 0.5.0 中新增。
- progress_barbool, default True
使用 tqdm 库按块显示上传进度条。
pandas-gbq 版本 0.5.0 中新增。
- credentialsgoogle.auth.credentials.Credentials,可选
用于访问 Google API 的凭证。使用此参数可以覆盖默认凭证,例如直接使用 Compute Engine 的
google.auth.compute_engine.Credentials或服务账号的google.oauth2.service_account.Credentials。pandas-gbq 版本 0.8.0 中新增。
参见
pandas_gbq.to_gbqpandas-gbq 库中的此函数。
read_gbq从 Google BigQuery 读取 DataFrame。
Examples
示例摘自 Google BigQuery documentation
>>> project_id = "my-project" >>> table_id = 'my_dataset.my_table' >>> df = pd.DataFrame({ ... "my_string": ["a", "b", "c"], ... "my_int64": [1, 2, 3], ... "my_float64": [4.0, 5.0, 6.0], ... "my_bool1": [True, False, True], ... "my_bool2": [False, True, False], ... "my_dates": pd.date_range("now", periods=3), ... } ... )
>>> df.to_gbq(table_id, project_id=project_id)