小编Ton*_*ark的帖子

使用数组结构将 DataFrame 上传到 BigQuery

我有一个包含 3 列的 pandas DataFrame:col1 包含列表,col2 包含字典,col3 包含 NaN:

dict_ = {'col1': [['abc'], ['def', 'ghi'], []],
         'col2': [{'k1': 'v1', 'k2': 'v2'},
                  {'k1': 'v3', 'k2': 'v4'},
                  {'k1': 'v5', 'k2': 'v6'}],
         'col3': [np.nan, np.nan, np.nan]}
df = pd.DataFrame(dict_)
Run Code Online (Sandbox Code Playgroud)

将 DataFrame 上传到 BigQuery 我为第一列和第二列创建以下架构:

schema = [
bigquery.SchemaField(name="col1", field_type="STRING", mode='REPEATED'),
bigquery.SchemaField(name="col2", field_type="RECORD", mode='NULLABLE',
                     fields=[bigquery.SchemaField(name="k1", field_type="STRING", mode='NULLABLE'),
                             bigquery.SchemaField(name="k2", field_type="STRING", mode='NULLABLE')])
]
job_config = bigquery.LoadJobConfig(write_disposition="WRITE_TRUNCATE", schema=schema)
job = client.load_table_from_dataframe(df, table, job_config=job_config)
job.result()
Run Code Online (Sandbox Code Playgroud)

DataFrame 已上传,但 col1 为空。

表格预览: 在此输入图像描述

我应该怎么做才能解决这个问题?

python google-bigquery pyarrow

3
推荐指数
1
解决办法
4075
查看次数

标签 统计

google-bigquery ×1

pyarrow ×1

python ×1