Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menukar Keputusan Pertanyaan SQL dengan Cekap kepada Pandas DataFrame?

Bagaimanakah Saya Boleh Menukar Keputusan Pertanyaan SQL dengan Cekap kepada Pandas DataFrame?

Susan Sarandon
Susan Sarandonasal
2024-12-05 22:59:14315semak imbas

How Do I Efficiently Convert SQL Query Results into a Pandas DataFrame?

Menukar Keputusan Pertanyaan SQL kepada Struktur Data Pandas

Masalah:

Seorang pengguna memerlukan bantuan dalam menukar hasil pertanyaan SQL kepada struktur data Pandas. Pengguna telah cuba mencetak hasil pertanyaan tetapi tidak memperoleh maklumat berguna.

Penyelesaian:

Untuk menukar hasil pertanyaan SQL kepada Pandas, langkah berikut boleh diambil:

  1. Mewujudkan sambungan ke pangkalan data menggunakan create_engine() SQLAlchemy dan connect() fungsi.
  2. Laksanakan pertanyaan SQL menggunakan kaedah connection.execute() dan simpan keputusan dalam pembolehubah (cth., resoverall).
  3. Ambil semua baris daripada hasil pertanyaan menggunakan resoverall. kaedah fetchall(). Ini mengembalikan senarai tupel, dengan setiap tupel mewakili satu baris.
  4. Buat Bingkai Data Pandas daripada senarai tupel. Untuk melakukan ini, gunakan DataFrame(resoverall.fetchall()), yang secara automatik memberikan nama lajur berdasarkan indeks tuple.
  5. Secara pilihan, anda boleh menetapkan nama lajur tertentu menggunakan df.columns = resoverall.keys(), di mana resoverall.keys() mengembalikan senarai lajur nama.

Contoh Kod:

from sqlalchemy import create_engine
from pandas import DataFrame

engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING')
connection2 = engine2.connect()
dataid = 1022
resoverall = connection2.execute("SELECT sum(BLABLA) AS BLA, sum(BLABLABLA2) AS BLABLABLA2, sum(SOME_INT) AS SOME_INT, sum(SOME_INT2) AS SOME_INT2, 100*sum(SOME_INT2)/sum(SOME_INT) AS ctr, sum(SOME_INT2)/sum(SOME_INT) AS cpc FROM daily_report_cooked WHERE campaign_id = '%s'", %dataid)
df = DataFrame(resoverall.fetchall())
df.columns = resoverall.keys()

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Keputusan Pertanyaan SQL dengan Cekap kepada Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn