对 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.to_sql - 源 csv 文件和目标表的列顺序
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换