Topik ini sudah lama tidak dibahas, di sini atau di tempat lain. Apakah ada solusi untuk mengonversi SQLAlchemy <Query object>
menjadi DataFrame pandas?
Panda memiliki kemampuan untuk digunakan, pandas.read_sql
tetapi ini membutuhkan penggunaan SQL mentah. Saya memiliki dua alasan untuk menghindarinya: 1) Saya sudah memiliki segalanya menggunakan ORM (alasan yang bagus dalam dan dari dirinya sendiri) dan 2) Saya menggunakan daftar python sebagai bagian dari kueri (misalnya: di .db.session.query(Item).filter(Item.symbol.in_(add_symbols)
mana Item
kelas model saya dan add_symbols
daftar). Ini sama dengan SQL SELECT ... from ... WHERE ... IN
.
Apakah ada yang mungkin?
df = pd.read_sql(query, query.bind)
kapanquery
adalahsqlalchemy.sql.selectable.Select
. Kalau tidak, saya mengerti'Select' object has no attribute 'session'
.con
parameter, yang dapat berupaengine
orconnection string
Untuk memperjelas hal ini bagi pemrogram panda pemula, berikut adalah contoh konkretnya,
Di sini kami memilih keluhan dari tabel keluhan (model sqlalchemy adalah Keluhan) dengan id = 2
sumber
.statement
dilakukannya?Solusi yang dipilih tidak berhasil untuk saya, karena saya terus mendapatkan kesalahan
Saya menemukan yang berikut berhasil:
sumber
Jika Anda ingin mengompilasi kueri dengan parameter dan argumen khusus dialek, gunakan sesuatu seperti ini:
sumber
sumber
select
dalamdf_query = select([DailyTrendsTable])
hilang.from sqlalchemy import select