从 python 列表的值中将一行插入到 google BigQuery 表中

Rak*_*dra 3 python google-bigquery google-cloud-platform

我是一个正在探索 Google BigQuery 的新手。我想从包含行值的 python 列表中向 BigQuery 表中插入一行。

更具体地说,我的列表如下所示:[100.453, 108.75, 50.7773]

我从BigQuery-Python 库插入中找到了一些提示 ,还查看了pandas bigquery writer,但不确定它们是否适合我的用例。

更好的解决方案是什么?

提前致谢。

cor*_*ard 11

有很多资源,但我通常发现代码示例对于开始来说是最有信息性的。

以下是 bigquery python 代码示例的优秀集合:https://github.com/googleapis/python-bigquery/tree/master/samples

一种插入行的直接方法:

from google.cloud import bigquery
bq_client = bigquery.Client()
table = bq_client.get_table("{}.{}.{}".format(PROJECT, DATASET, TABLE))

rows_to_insert = [{u"COL1": 100.453, u"COL2": 108.75, u"COL3": 50.7773}, {u"COL1": 200.348, u"COL2": 208.29, u"COL3": 60.7773}]

errors = bq_client.insert_rows_json(table, rows_to_insert)
if errors == []:
    print("success")
Run Code Online (Sandbox Code Playgroud)

最后验证是否插入成功使用

bq query --nouse_legacy_sql 'SELECT * FROM `PROJECT.DATASET.TABLE`'
Run Code Online (Sandbox Code Playgroud)

希望对大家有帮助!

  • 谢谢你!更明确的示例:https://github.com/googleapis/python-bigquery/blob/master/samples/table_insert_rows.py (2认同)