Beim Testen habe ich festgestellt, dass die ausgewählte Antwort (Dict in OrderedDict konvertieren) die Spaltenreihenfolge der Abfrageergebnisse nicht zuverlässig beibehält.
@vaultahs Antwort auf eine ähnliche Frage
schlägt vor, pymysql.cursors.DictCursorMixin
zu verwenden :
...um einen Cursor zu erstellen, der sich die richtige Spaltenreihenfolge merkt:
Dann erhalten Sie Ihre Ergebnisse wie gewohnt:
results = cursor.fetchall()
for row in results:
print row # properly ordered columns
Ich bevorzuge diesen Ansatz besser, weil er stabil ist, weniger Code erfordert und die Sortierung auf der entsprechenden Ebene handhabt (beim Lesen der Spalten).