So rufen Sie Wörterbücher aus SQLite-Abfragen ab
Beim Durchführen von SQLite-Abfragen kann es vorkommen, dass Sie Daten stattdessen im Wörterbuchformat abrufen müssen von Listen. In diesem Artikel finden Sie mehrere Lösungen, um dies zu erreichen.
Verwendung von row_factory
Mit dem Parameter row_factory in der SQLite-Verbindung können Sie angeben, wie Zeilen zurückgegeben werden. Indem Sie es auf eine benutzerdefinierte Funktion festlegen, können Sie Tupel in Wörterbücher konvertieren:
def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d con = sqlite3.connect(":memory:") con.row_factory = dict_factory cur = con.cursor() cur.execute("select 1 as a") print(cur.fetchone()["a"]) # Output: 1
Verwenden von sqlite3.Row
Alternativ können Sie row_factory auf sqlite3.Row setzen , was eine optimierte Möglichkeit bietet, auf Spalten sowohl über den Index als auch über den Index zuzugreifen Name:
con = sqlite3.connect(...) con.row_factory = sqlite3.Row # Set row_factory to sqlite3.Row cursor = con.cursor() row = cursor.fetchone() print(row["col1"]) # Access columns by name
Benutzerdefinierte Implementierung
Wenn keine der oben genannten Lösungen Ihren Anforderungen entspricht, können Sie Ihre eigene benutzerdefinierte Implementierung erstellen. Dieser Ansatz wird jedoch im Allgemeinen aufgrund potenzieller Leistungsprobleme im Vergleich zu den bereitgestellten Lösungen nicht empfohlen.
Das obige ist der detaillierte Inhalt vonWie kann ich Wörterbuchdaten aus SQLite-Abfragen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!