0

版本: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

任何帮助将不胜感激。

谢谢

4

1 回答 1

2

嘿,也许迟到了,但遇到了类似的问题,

可能该列在您的 DF 中重复,在您的 DF 中检查“字段”(小写)

于 2020-01-30T23:00:46.257 回答