首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将包含列表的熊猫数据帧上传到Google BigQuery数组和结构格式?

问如何将包含列表的熊猫数据帧上传到Google BigQuery数组和结构格式?
EN

Stack Overflow用户
提问于 2019-11-07 00:55:18
回答 1查看 585关注 0票数 2

我想使用pandas将数据帧推送到包含数组和结构的BigQuery表中

Bigquery表看起来像这样: col_a (整型),col_b (字符串),col_c.A (带数组Subtype0的结构),col_c.B (带整型子类型的结构)

我有一个数据帧,看起来像这样:

col_a (类型为整型)、col_b (字符串)、col_c(对象列表)、col_d(整型)。

有没有办法将pandas数据帧上传到具有结构和数组的bigquery表?

EN

回答 1

Stack Overflow用户

发布于 2019-11-07 01:56:08

是的,你可以做到的。

代码语言:javascript
复制
import google.cloud
from google.cloud import bigquery


def save_df_to_bq(args,dataframe,csv_name):



print("Length of the incoming dataframe :-->" , len(dataframe))

print(dataframe.iloc[[0]])

client = bigquery.Client()

dataset_ref = client.dataset(dataset_id,project_id)

 schema = [
     bigquery.SchemaField('col_a ', 'dttype'),
     bigquery.SchemaField('col_b ', 'dttype'),
     bigquery.SchemaField('col_c ', 'dttype'),

 ]      

acc_table_id = str(random.randint(100000,100000*1000000))
# table_ref = dataset_ref.table(acc_table_id)
# table = bigquery.Table(table_ref, schema=schema)
# table = client.create_table(table)  # API request
# print("Table created..")

# acc_table_id = str(random.randint(100000,100000*1000000))
acc_table_ref = client.dataset(dataset_id,project_id).table(acc_table_id)
job = client.load_table_from_dataframe(dataframe, acc_table_ref, location="US")
job.result()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58735051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档