Объект RowIterator не вызывается при использовании BigQuery + Pandas в Python - PullRequest
0 голосов
/ 24 сентября 2019

Я работаю над тем, чтобы поместить свои данные Google BigQuery в кадр данных pandas.Я успешно смог запустить приведенный ниже код и распечатать набор результатов.

from google.cloud import bigquery
from google.oauth2 import service_account
from pandas.io import gbq

credentials = service_account.Credentials.from_service_account_file('My Project Credentials.json')
project_id = 'essential-cairn-253818'
client = bigquery.Client(credentials= credentials,project=project_id)
query = client.query("""
SELECT  device.model as model
FROM     `my-table-name`
LIMIT 100
""")

results = query.result()
for row in results:
  print("{}".format(row.model))

Однако я бы хотел использовать функциональность pandas.io.gbq.read_gbq (), чтобы поместить это в фрейм данных.Я добавляю следующие строки кода и застреваю.

query2 = """
SELECT  device.model as model
FROM     `my-table-name`
LIMIT 100
"""
results_df = gbq.read_gbq(query2, project_id=project_id, private_key='My Project Credentials.json', dialect = 'standard')

Это приводит к ошибке:

TypeError: 'RowIterator' object is not callable

Я не уверен, где я иду не так.У меня следующий вопрос: Актуальные данные из BigQuery в Python DataFrame

Может кто-нибудь указать мне правильное направление?

1 Ответ

0 голосов
/ 24 сентября 2019

Я тоже новичок.

Вы можете попробовать pandas.read_gbq, кажется, лучший выбор.Документация: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_gbq.html

Также этот другой метод выглядит менее проблематичным: Как интегрировать Bigquery & pandas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...