python-bigquery-pandas icon indicating copy to clipboard operation
python-bigquery-pandas copied to clipboard

read_gbq: Runtime error when given table name for a view

Open jayqi opened this issue 8 months ago • 1 comments

When I try to use read_gbq where I pass in the name of a view, I get a runtime error caused by an unhandled 400 error from the API.

It looks like read_gbq tries to use the tabledata.list method which is not supported by the BigQuery API for views. I would expect read_gbq to be able to handle this query and use an appropriate API method.

As a work around, I am able to run the query SELECT * FROM my_dataset.my_table instead.

Environment details

  • OS type and version: macOS 15.3.1 on M4 Pro
  • Python version: 3.13.2
  • pandas-gbq version: 0.28.0
  • google-cloud-bigquery version: 3.30.0

Code example

import pandas_gbq as pd_gbq 

pd_gbq.read_gbq("my_dataset.my_table")

where my_table is a VIEW

Error

GenericGBQException: Reason: 400 GET <API URL redacted>: Cannot list a table of type VIEW.

jayqi avatar Mar 13 '25 00:03 jayqi