将Bigquery结果转换为Pandas数据框

时间:2017-06-20 08:05:29

标签: python pandas dataframe google-bigquery

以下是将BigQuery结果转换为Pandas数据框的代码。 我正在学习Python和Pandas,并想知道我是否可以获得有关代码任何改进的建议/想法?

#...code to run query, that returns 3 columns: 'date' DATE, 'currency' STRING,'rate' FLOAT...

rows, total_count, token = query.fetch_data()
currency = []
rate = []
dates = []
for row in rows:
    dates.append(row[0])
    currency.append(row[1])
    rate.append(row[2])


dict = {
'currency' : currency,
'date' : dates,
'rate' : rate
}

df2 = pd.DataFrame(dict)

df2['date'] = pd.to_datetime(df2['date'])
df2 = df2.set_index('date')

以上作品。但看起来很矮胖。有没有办法比上面更有效地做同样的事情? 我尝试了诸如sqlalchemy之类的库,但它们不支持BigQuery。通常我的问题是关于上面的代码和语法。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

针对Python的Google Cloud Client库中的Using BigQuery with Pandas页:

  

从0.29.0版开始,您可以使用to_dataframe()函数以pandas.DataFrame的形式检索查询结果或表行。

此外:Migrating from pandas-gbq关于google-cloud-bigquery BQ Python客户端库和pandas-gbq之间的区别。