描述了如何从this question中使用pandas.read_sql函数直接在pandas DataFrame中获取查询结果的过程。
我想要的是能够在使用SQLAlchemy和pybigquery时做完全相同的事情
首先,我这样定义我的会话:
from sqlalchemy import
from sqlalchemy.orm import scoped_session, sessionmaker
db_uri = "bigquery://myproject/"
engine = create_engine(db_uri)
session = scoped_session(sessionmaker(bind=engine))从那里我可以从我的ORM的Item请求
session.query(Item).first()
<Item...>如果我必须通过pandas.read_sql调用一个经典的SQL数据库,我只需要做:
query = session.query(...)
df = pandas.read_sql(query.statement, session.query.bind)我天真地试着
pandas.read_bgq(query.statement)但这将返回TypeError: Object of type 'Select' is not JSON serializable
有没有一种方法可以像传统SQL数据库一样直接将bigquery请求到pandas数据帧中?
发布于 2020-04-20 18:12:55
来自@TimSwast的评论:
在pandas.read_sql中使用常规查询语句实际上是有效的!所以这看起来像这样:
query = session.query(...)
df = pandas.read_sql(query.statement, session.query.bind)https://stackoverflow.com/questions/61253952
复制相似问题