Mendapatkan semula Kamus daripada Pertanyaan SQLite
Dalam Python, mendapatkan semula data daripada pangkalan data SQLite biasanya menghasilkan senarai yang mewakili baris jadual. Walaupun ini mudah untuk mengakses data, mungkin lebih baik untuk mendapatkan kamus untuk akses yang lebih berstruktur dan berasaskan kunci.
Satu kaedah untuk mencapai ini adalah melalui atribut row_factory. Dengan menetapkannya kepada fungsi tersuai, anda boleh menentukan cara baris harus diproses daripada set hasil. Contohnya:
import sqlite3 def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d con = sqlite3.connect("test.sqlite") con.row_factory = dict_factory cur = con.cursor() cur.execute("select * from table") rows = cur.fetchall() print(rows[0]["col1"])
Penyelesaian lain, seperti yang dicadangkan dalam dokumentasi SQLite, ialah menggunakan jenis Row yang dioptimumkan sebagai row_factory:
con.row_factory = sqlite3.Row cursor = con.cursor() row = cursor.fetchone() print(row["col1"])
Jenis Row ini menyediakan kedua-dua berasaskan indeks dan akses berasaskan nama tidak sensitif huruf besar kepada lajur dengan overhed memori minimum, menjadikannya penyelesaian yang lebih cekap daripada pendekatan berasaskan kamus tersuai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Kamus Daripada Senarai daripada Pertanyaan SQLite dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!