首页 > 解决方案 > Pandas Dataframe 到 BigQuery 引发 NotImplementedError

问题描述

我一直在尝试将数据从 Pandas DataFrame 上传到 BigQuery 表,但我一直遇到新问题。

我正在采取以下步骤:

  1. 从 API 调用数据,我将响应分配给一个名为: 的变量result[]。此变量是嵌套字典的列表。
  2. 要将嵌套字典列表转换为数据框,我使用以下命令(使用“_”分隔:new_df = json_normalize(result, sep='_')
  3. 结果看起来不错,并且似乎使用以下信息正确创建了数据框(请参阅第 4 点)
  4. class 'pandas.core.frame.DataFrame'RangeIndex:833 个条目,0 到 832 列:137 个条目,card_billing_addr1 到 subscription_updated_at dtypes:bool(4),float64(17),int64(17),object(99) 内存使用: 868.9+ KB

  5. 现在是时候将 DataFrame 上传到 BigQuery,而不是使用 pandas-gbq 工具,我使用的是官方云文档并尝试使用以下代码行上传 DataFrame:
client = bigquery.Client()
dataset_ref = client.dataset('dataset_name')
table_ref = dataset_ref.table('table_name')

client.load_table_from_dataframe(new_df, table_ref).result()

之后我不断收到错误:

NotImplementedError: struct<key_1: string, key_2: string, ..., key_n: int64,>

我不知道从哪里开始解决这个问题。有没有人有解决方法或者更好的建议来解决这个问题?

标签: pythonpandasdataframegoogle-bigquery

解决方案


推荐阅读