Pandas 如何将熊猫数据帧直接上传到BigQuery?

Pandas 如何将熊猫数据帧直接上传到BigQuery?,pandas,google-cloud-platform,google-bigquery,google-cloud-storage,google-colaboratory,Pandas,Google Cloud Platform,Google Bigquery,Google Cloud Storage,Google Colaboratory,我一直在使用Pandas格式化数据帧,然后将其转换为CSV,然后手动上传到BigQuery(取决于大小,我以前上传到云存储) 我经常使用Google Colaboratory作为我的笔记本用户界面 是否可以通过直接从Pandas上传到BQ/CS来简化流程?怎么做?你可以利用 您可以使用load\u table\u from_dataframe将数据从Pandas加载到BigQuery: bigqueryClient = bigquery.Client() tableRef = bigqueryC

我一直在使用Pandas格式化数据帧,然后将其转换为CSV,然后手动上传到BigQuery(取决于大小,我以前上传到云存储)

我经常使用Google Colaboratory作为我的笔记本用户界面

是否可以通过直接从Pandas上传到BQ/CS来简化流程?怎么做?

你可以利用


您可以使用
load\u table\u from_dataframe
将数据从Pandas加载到BigQuery:

bigqueryClient = bigquery.Client()
tableRef = bigqueryClient.dataset("bq-dataset").table("bq-table")
bigqueryJob = bigqueryClient.load_table_from_dataframe(dataFrame, tableRef)
bigqueryJob.result()

定义BigQuery数据集 将包含项目id和数据集id的元组传递给bq.dataset。

# define a BigQuery dataset    
bigquery_dataset_name = ('project_id', 'dataset_id')
dataset = bq.Dataset(name = bigquery_dataset_name)
# define a BigQuery table    
bigquery_table_name = ('project_id', 'dataset_id', 'table_name')
table = bq.Table(bigquery_table_name)

定义BigQuery表 将包含项目id、数据集id和表名的元组传递给bq.table。

# define a BigQuery dataset    
bigquery_dataset_name = ('project_id', 'dataset_id')
dataset = bq.Dataset(name = bigquery_dataset_name)
# define a BigQuery table    
bigquery_table_name = ('project_id', 'dataset_id', 'table_name')
table = bq.Table(bigquery_table_name)
创建数据集/表格并写入BQ中的表格

# Create BigQuery dataset
if not dataset.exists():
    dataset.create()

# Create or overwrite the existing table if it exists
table_schema = bq.Schema.from_data(dataFrame_name)
table.create(schema = table_schema, overwrite = True)

# Write the DataFrame to a BigQuery table
table.insert(dataFrame_name)

伟大的解决方案!!!!谢谢,如果你接受它作为标记回答是有意义的。我是新手,你的利率很低。重要信息:因此,您必须使用投票下方张贴答案左侧的勾号来标记已接受的答案。这将提高你的利率。通过访问此链接了解其工作原理:这确实是从pd数据帧更新的最简单解决方案