SQLAlchemy ORM转换为Pandas DataFrame [英] SQLAlchemy ORM conversion to pandas DataFrame

查看:853
本文介绍了SQLAlchemy ORM转换为Pandas DataFrame的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个话题已经有一段时间没有在这里或其他地方了.有没有将SQLAlchemy <Query object>转换为pandas DataFrame的解决方案?

This topic hasn't been addressed in a while, here or elsewhere. Is there a solution converting a SQLAlchemy <Query object> to a pandas DataFrame?

Pandas具有使用pandas.read_sql的能力,但这需要使用原始SQL.我有两个要避免的原因:1)我已经使用ORM拥有了一切(本身就是一个很好的理由),并且2)我正在使用python列表作为查询的一部分(例如:.db.session.query(Item).filter(Item.symbol.in_(add_symbols) where Item是我的模型类,而add_symbols是列表).这等效于SQL SELECT ... from ... WHERE ... IN.

Pandas has the capability to use pandas.read_sql but this requires use of raw SQL. I have two reasons for wanting to avoid it: 1) I already have everything using the ORM (a good reason in and of itself) and 2) I'm using python lists as part of the query (eg: .db.session.query(Item).filter(Item.symbol.in_(add_symbols) where Item is my model class and add_symbols is a list). This is the equivalent of SQL SELECT ... from ... WHERE ... IN.

有什么可能吗?

推荐答案

以下在大多数情况下应该可以使用:

Below should work in most cases:

df = pd.read_sql(query.statement, query.session.bind)

有关更多信息,请参见 pandas.read_sql 文档在参数上.

See pandas.read_sql documentation for more information on the parameters.

这篇关于SQLAlchemy ORM转换为Pandas DataFrame的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆