将查询结果从Big query python api保存到CSV



我必须从Big query python API获取数据,并尝试将查询结果保存为CSV文件。这是加载的代码:

from google.cloud import bigquery
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]=r"C:UsersRishiDownloadslocalis-backend-8d07970f5e24.json"
# Construct a BigQuery client object.
client = bigquery.Client()
query = """
SELECT name, SUM(number) as total_people
FROM `bigquery-public-data.usa_names.usa_1910_2013`
WHERE state = 'TX'
GROUP BY name, state
ORDER BY total_people DESC
LIMIT 20
"""
query_job = client.query(query)  # Make an API request

现在,为了保存到CSV,我尝试迭代到每一行并将其保存到列表中,最后转换为数据帧。

ls=[]
for row in query_job:
ls.append(row)    


ls_df = pd.DataFrame(ls)

尽管如此,它给了我结果,但它并没有像我们在大查询中看到的那样保留相同的模式。我在这里缺少什么?有没有更好的方法将大查询结果转换为数据帧,然后转换为CSV?

用函数实现这一点的最简单方法。

query_df = query.to_dataframe()

然后我们可以将此文件保存到csv中。

query_df.to_csv("Your_filename.csv")

最新更新