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_gbq

pandas-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)