版本:Mac OS Mojave 10.14.5 Python 3.6.5 Pandas 0.24.2 pandas-gbq 0.10.0
我正在尝试从 shipstation api 中提取数据并将其加载到 bigquery 中以在我们的 BI 平台 (tableau) 中使用。我已经成功进行了 api 调用,它返回了一个 json 对象。我已成功地将其转换为 pandas df 对象。当我尝试将该 df 写入 BigQuery 中的数据集时,我收到错误消息:“字段单元已存在于模式中”,即使我正在编写的表不存在并且由 pandas-gbq 创建。
我试图创建我正在写入的表并只是附加字段,但我得到了一个类似的错误,我需要确保我的模式是对齐的。我试过设置 if_exists=replace,但也没有用。我发现了一些问题,建议确保我的所有列都是时间戳对象而不是日期时间,这也没有解决问题。
这是我的代码:
df = pd.io.json.json_normalize(data)
df.columns = df.columns.map(lambda x: x.split(".")[-1])
pandas_gbq.to_gbq(df, 'my_dataset.my_table', project_id='project-id',if_exists='replace')
这是错误:
GenericGBQException: Reason: 400 POST https://www.googleapis.com/bigquery/v2/projects/forte-data/datasets/ss/tables: Field units already exists in schema
任何帮助将不胜感激。
谢谢