sqlite3 auslesen: gibt es fetch_object od. fetch_directory?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
php_guru
User
Beiträge: 13
Registriert: Dienstag 29. April 2014, 14:22

Hallo zusammen.
Gibt es in Python eine Möglichkeit Datensätze aus der Datenbank als Directory, oder Object und nicht als Liste auszulesen, respektive als dir oder obj direkt in der Schleife auszugeben?
Es betr. Python Version 3. Googlen hat mich nicht weitergebracht...
Bitte um Eure mithilfe.

Der Code:

Code: Alles auswählen

#anstatt:
res = db.execute("SELECT * FROM mitarbeiter")
for i in res:
    print( i[1] + ' - ' +i[2] )

#so etwas:
    print( i.name + ' - ' + i.vorname )
#oder
   print( i['name'] + ' - ' + i['vorname'] )
Wenn ich schon nachfrage: Muss man bei jedem INSERT oder UPDATE ein commit schreiben?
Sirius3
User
Beiträge: 18254
Registriert: Sonntag 21. Oktober 2012, 17:20

@php_guru: mach Dir doch einfach ein Dictionary:

Code: Alles auswählen

keys = [d[0] for d in res.description]
result = [dict(zip(keys,values)) for values in res]
BlackJack

Ich glaube SQLAlchemy gibt es mittlerweile auch für Python 3.
php_guru
User
Beiträge: 13
Registriert: Dienstag 29. April 2014, 14:22

@BlackJack & @Sirius3
Danke Euch! :)
Antworten