pandas.read_gbq#

pandas.read_gbq(query, project_id=None, index_col=None, col_order=None, reauth=False, auth_local_webserver=True, dialect=None, location=None, configuration=None, credentials=None, use_bqstorage_api=None, max_results=None, progress_bar_type=None)[源代码]#

从 Google BigQuery 加载数据。

自 2.2.0 版本弃用: 请改用 pandas_gbq.read_gbq

此函数需要 pandas-gbq package

有关身份验证说明,请参阅 How to authenticate with Google BigQuery 指南。

Parameters:
querystr

用于返回数据值的类 SQL 查询。

project_idbool, default False

Google BigQuery 账户项目 ID。当可从环境中获取时为可选。

index_colbool, default False

结果 DataFrame 中用于索引的结果列名。

col_orderstr 列表;可选

用于结果 DataFrame 的所需顺序的 BigQuery 列名列表。

reauthbool,默认 False

强制 Google BigQuery 重新验证用户。如果您使用多个帐户,这将非常有用。

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

dialectstr,默认为 ‘legacy’

注意:默认值将在未来版本中更改为 ‘standard’。

要使用的 SQL 语法方言。值可以是以下之一:

'legacy'

使用 BigQuery 的旧版 SQL 方言。有关更多信息,请参阅 BigQuery Legacy SQL Reference

'standard'

使用 BigQuery 的标准 SQL,它符合 SQL 2011 标准。有关更多信息,请参阅 BigQuery Standard SQL Reference

locationbool, default False

查询作业应运行的位置。有关可用位置列表,请参阅 BigQuery locations documentation 。位置必须与查询中使用的任何数据集的位置匹配。

pandas-gbq 版本 0.5.0 中新增

configurationdict, 可选

用于作业处理的查询配置参数。例如:

configuration = {‘query’: {‘useQueryCache’: False}}

有关更多信息,请参阅 BigQuery REST API Reference

credentialsgoogle.auth.credentials.Credentials,可选

用于访问 Google API 的凭证。使用此参数可以覆盖默认凭证,例如直接使用 Compute Engine 的 google.auth.compute_engine.Credentials 或服务账号的 google.oauth2.service_account.Credentials

pandas-gbq 版本 0.8.0 中新增

use_bqstorage_apibool,默认 False

使用 BigQuery Storage API 快速下载查询结果,但成本会增加。要使用此 API,请先在 Cloud Console 中 enable it in the Cloud Console 。您还必须在为查询付费的项目上拥有 bigquery.readsessions.create 权限。

此功能需要 pandas-gbq 包的版本为 0.10.0 或更高版本。它还需要 google-cloud-bigquery-storagefastavro 包。

max_resultsint, optional

如果设置,则限制从查询结果中获取的最大行数。

progress_bar_type可选,str

如果设置,则使用 tqdm 库在数据下载时显示进度条。安装 tqdm 包以使用此功能。

progress_bar_type 的可能值包括:

None

无进度条。

'tqdm'

使用 tqdm.tqdm() 函数将进度条打印到 sys.stderr

'tqdm_notebook'

使用 tqdm.tqdm_notebook() 函数将进度条显示为 Jupyter notebook 小部件。

'tqdm_gui'

使用 tqdm.tqdm_gui() 函数将进度条显示为图形对话框。

Returns:
df: DataFrame

表示查询结果的 DataFrame。

参见

pandas_gbq.read_gbq

pandas-gbq 库中的此函数。

DataFrame.to_gbq

将 DataFrame 写入 Google BigQuery。

Examples

示例摘自 Google BigQuery documentation

>>> sql = "SELECT name FROM table_name WHERE state = 'TX' LIMIT 100;"
>>> df = pd.read_gbq(sql, dialect="standard")  
>>> project_id = "your-project-id"  
>>> df = pd.read_gbq(sql,
...                  project_id=project_id,
...                  dialect="standard"
...                  )