python - Python 列表到 BigQuery 重复字符串
问题描述
我正在使用 Python 应用程序使用 Google BigQuery。
我有一个包含列表的字段的数据框,我们称之为“关键字”。我还有一个 BigQuery 表,其关键字字段为 STRING 且 mode=REPEATED。
这是我的 BigQuery 表的架构:
SCHEMA = [
bq.SchemaField("id", "STRING", mode="NULLABLE"),
bq.SchemaField("fecha", "DATE", mode="NULLABLE"),
bq.SchemaField("keywords", "STRING", mode="REPEATED")
]
这是我的代码:
import pandas as pd
from datetime import date
from google.cloud import bigquery as bq
df_dict = {
"id": ["asdf173","qwer783","vcda619"],
"fecha": [date(2019,1,15), date(2019,1,28), date(2019,2,12)],
"keywords": [['a','b'], ['c','d','e'],['f']]
}
df = pd.DataFrame(df_dict)
client = bq.Client()
dataset = client.dataset(dataset_name)
table_ref = dataset.table(table_name)
client.load_table_from_dataframe(df, table_ref).result()
当我尝试将数据框上传到 BigQuery 表时出现以下错误:
400 提供的 Schema 与表 project-id:dataset-name.table-name 不匹配。字段关键字的类型已从 STRING 更改为 RECORD。
我该如何解决?
解决方案
推荐阅读
- python - lambda 函数列表做了一些奇怪的事情
- flutter - 所选状态值不断恢复为原始值
- sql - Oracle 错误创建需要 iNTO 的过程
- python - Python:通过循环编辑一系列txt文件
- python - Azure ML 评分服务身份验证
- c++ - CPP 的虚拟错误
- amazon-web-services - 在 AWS Lambda 上使用 EFS 访问点时未授权
- javascript - 增加和减少值
- java - 如何在 Harmony App Development 中动态更改对话框中设置的动画组件的大小?
- javascript - webpack 开发服务器无法正常工作