Last Updated on 2. Juni 2016 by Thomas J. Fehr
Die Spaltennamen einer Tabelle können mit dem „Cursor“ herausgelesen werden. Dazu verwendet man das Attribut „description“ des Cursors. Dieses Attribut enthält alle Spaltennamen der letzten Abfrage, auch wenn diese keine Resultate zurückgeliefert hat.
import sqlite3
#connect to in memory db
connection = sqlite3.connect(':memory:')
mycursor = connection.cursor()
# Create table
mycursor.execute("create table spydb (id INTEGER PRIMARY KEY ASC, ipsend text, iprecv text)")
#select on table
mycursor.execute('select * from spydb order by id desc')
#get col names with the description attribute
names = [tuple[0] for tuple in mycursor.description]
print names;
#close the cursor
mycursor.close()
In der Zeile 14 erhalten wir vom Attribut „description“ ein 7-Tupel pro Spalte. Dabei enthält das erste Element eines Tupels den Spaltennamen und die anderen 6 Elemente sind vom Typ „none“.
Die Ausgabe der Zeile 15:
['id', 'ipsend', 'iprecv']