对 Pandas Dataframe 的 SQL 查询结果

Posted

技术标签:

【中文标题】对 Pandas Dataframe 的 SQL 查询结果【英文标题】:SQL query results to Pandas Dataframe 【发布时间】:2020-11-25 12:11:24 【问题描述】:

我有一个通过 Python 获得的查询的结果:

<google.cloud.bigquery.table.RowIterator object at 0x00000289E881C670>

我想将它们转换为 pandas 数据框。

我正在尝试df = pd.read_sql_query(query, connection) 之类的东西,但我没有connection

我获取查询结果的代码是

import pandas as pd
from google.cloud import bigquery
from google.oauth2 import service_account

# Load BigQuery credentials
credentials_json_file = r"credentials.json"
credentials = service_account.Credentials.from_service_account_file(credentials_json_file)
project_id = "idi-rewan"
client = bigquery.Client(credentials=credentials, project=project_id)

# Define query
query_string = """
   SELECT * FROM `database.table`
   """
query_job = client.query(query_string)

results = query_job.result()

【问题讨论】:

【参考方案1】:

您可以使用 pandas-gbq 包并按照this 帖子中的建议使用 read_gbq 函数。

read_gbq 函数将 SQL 字符串作为参数,并使用不同的凭据进行身份验证。

【讨论】:

以上是关于对 Pandas Dataframe 的 SQL 查询结果的主要内容,如果未能解决你的问题,请参考以下文章

按日期对 Pandas DataFrame 进行分组

Python中从SQL型数据库读写dataframe型数据

pandas.DataFrame.to_sql - 源 csv 文件和目标表的列顺序

pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换

pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换

如何将 sql 查询转换为 Pandas Dataframe 和 PySpark Dataframe