Хотя вы не размещали пакеты, импортированные и установленные в вашей среде, эта ошибка обычно связана с отсутствием необходимых пакетов.
Мне удалось воспроизвести ваш случай, используя метод Pandas и to_gbq успешно, без ошибок. Для своей попытки я использовал Jupyter Notebook в экземпляре Cloud AI с Python 3.7.
Сначала я установил в свою среду следующие пакеты:
!pip install --upgrade google-bigquery[pandas] --quiet
!pip install --upgrade pandas_gbq
Второй модуль ( pandas_gbq ) необходим, поскольку он не входит в пакет google-bigquery [pandas] , вы можете проверить документацию здесь .
Впоследствии в скрипте python необходимо импортировать pandas и bigquery . Я также создал фиктивный фрейм данных, чтобы воспроизвести случай. Как показано ниже:
import pandas as pd
from google.cloud import bigquery
records =[
{
"Name": "Alex",
"Age": 25,
"City":"New York"
},
{
"Name": "Bryan",
"Age": 27,
"City":"San Francisco"
}
]
dataframe = pd.DataFrame(
records,columns=["Name","Age","City"])
print(dataframe)
И вывод:
Name Age City
0 Alex 25 New York
1 Bryan 27 San Francisco
Наконец, я использовал to_gbq метод:
#to_gbq
dataframe.to_gbq('sample.pandas_bq_test',project_id="test-proj-261014",if_exists='append')
Это было хорошо выполнено, и фрейм данных был в BigQuery. Поэтому я рекомендую вам проверить выше, правильно ли вы установили все пакеты, которые я использовал. Кроме того, вы можете использовать pip show <name_of_the_package>
, чтобы проверить, установлена ли она и ее версия.
Обновление
Чтобы использовать BigQuery и Pandas с DataLab, можно использовать виртуальную среду Подробнее об этом здесь . Таким образом, гарантируется, что все необходимые python зависимости установлены и несовместимость не обнаружена.
Я выполнил следующие шаги для запуска вышеуказанного кода в DataLab.
- Создание экземпляра DataLab и подключение через http://localhost: 8081 / , следуя документации .
- Откройте новый блокнот и выберите Ядро Python 3
Выполните следующие команды, где - имя вашей виртуальной среды.
!pip install virtualenv
!virtualenv <your-env>
!source <your-env>/bin/activate
!<your-env>/bin/pip install google-cloud-bigquery
Сейчас вы сможете использовать import pandas в качестве pd и из google.cloud import bigquery . Я проверил с кодом, который я предоставил выше, и он работал. Дайте мне знать, если у вас возникнут проблемы.