Как исправить "полевые единицы уже существуют в схеме" для панд gpq

Версии: Mac OS Mojave 10.14.5 Python 3.6.5 Pandas 0.24.2 pandas-gbq 0.10.0

Я пытаюсь получить данные из API на станции и загрузить их в bigquery для использования в нашей платформе BI (таблица). Я успешно сделал вызов API, который возвратил объект json. Я успешно превратил это в объект 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

Любая помощь будет принята с благодарностью.

Спасибо

0 ответов

Эй, может быть, поздно, но столкнемся с аналогичной проблемой,

Вероятно, столбец дублируется в вашем DF, проверьте "поле" (нижний регистр) в вашем DF

Другие вопросы по тегам