Liste von Spaltennamen aus einer leeren Tabelle abrufen [duplizieren]

8

Ich benutze Pythons sqlite3 Modul und möchte eine Liste aller Spalten in einer Tabelle erhalten, wenn die Tabelle keine Zeilen hat.

Normalerweise, wenn ich eine Datenbank wie

erstelle %Vor%

Dann kann ich die Spaltennamen mit etwas wie

erhalten %Vor%

Das Problem ist, wenn die Tabelle anfänglich leer ist, c.fetchone() gibt None zurück. Wenn Zeilen festgeschrieben sind, kann ich eine Liste der Spaltennamen erhalten.

Gibt es einen anderen Weg, es zu tun? Ich habe die offizielle sqlite3 Modul-Dokumentation durchgesehen, konnte aber in dieser Hinsicht nichts Nützliches finden.

Ich denke, ich könnte einige Dummy-Daten in die Tabelle schreiben, dann die Spaltennamen abrufen und dann die Zeile löschen, aber ich hatte gehofft, dass es einen eleganteren Weg dafür gibt.

Bearbeiten:

Scheint, es gibt ein paar Möglichkeiten, es zu tun:

  1. Holen Sie sich die SQL, mit der die Tabelle erstellt wurde:

    %Vor%
  2. Verwenden Sie die Anweisung PRAGMA von sqlite3:

    %Vor%
  3. Verwenden Sie das .description -Feld des Cursor -Objekts

    %Vor%

Von diesen scheint Nr. 2 am einfachsten und geradlinigsten. Danke allen für die Hilfe.

    
mindcorrosive 13.05.2011, 14:05
quelle

2 Antworten

5

versuche es mit:

%Vor%

Wie hier hier erklärt, sind nur die ersten Elemente jedes 7-Tupels nützlich .

    
Cédric Julien 13.05.2011 14:17
quelle
3
%Vor%     
suhailvs 05.02.2014 10:34
quelle

Tags und Links