Heim  >  Artikel  >  Datenbank  >  Wie kann ich mit Python Spaltenüberschriften aus einer MySQL-Abfrage abrufen?

Wie kann ich mit Python Spaltenüberschriften aus einer MySQL-Abfrage abrufen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-06 20:30:03915Durchsuche

How can I retrieve column headers from a MySQL query using Python?

Spalteninformationen aus MySQL-Abfragen abrufen

Bei der Entwicklung einer Python-Anwendung mit MySQLdb besteht eine häufige Aufgabe darin, SQL-Abfragen auszuführen und die Ergebnisse abzurufen Spaltennamen und -werte. Standardmäßig gibt Cursor.fetchall() nur die Daten ohne Spalteninformationen zurück.

Um die Spaltenüberschriften zu erhalten, verwenden Sie das Cursor.description-Attribut. Es stellt ein Tupel von Tupeln bereit, wobei jedes innere Tupel Informationen über eine Spalte enthält. Das erste Element jedes inneren Tupels ist der Spaltenkopf.

Um die vom Benutzer angegebenen Spalten in SQL-Abfragen genau wiederzugeben, berücksichtigen Sie die folgenden Schritte:

<code class="python">cursor.execute(sql)
num_fields = len(cursor.description)
field_names = [i[0] for i in cursor.description]</code>

Dieser Code ruft die Anzahl von ab Spalten im Abfrageergebnis und erstellt eine Liste von Spaltenüberschriften aus dem Attribut „cursor.description“.

In Ihrem spezifischen Python-Beispiel können Sie den Code ändern, um die Spaltennamen zu extrahieren:

<code class="python">import MySQLdb

# Connect to MySQL

db = MySQLdb.connect(...)

# Execute the query

cursor = db.cursor()
cursor.execute("""
select ext,
       sum(size) as totalsize,
       count(*) as filecount
from fileindex
group by ext
order by totalsize desc;
""")

# Get column headers

num_fields = len(cursor.description)
field_names = [i[0] for i in cursor.description]

# Fetch and print the results

while (1):
    row = cursor.fetchone()
    if row == None:
        break
    print(" ".join("{}={}".format(field_names[i], row[i]) for i in range(num_fields)))

cursor.close()
db.close()</code>

Dieser erweiterte Code ruft jetzt sowohl die Spaltenüberschriften als auch die entsprechenden Datenwerte für jede Zeile korrekt ab und druckt sie aus.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Python Spaltenüberschriften aus einer MySQL-Abfrage abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn