Podczas testowania stwierdziłem, że wybrana odpowiedź (przekonwertuj dykt na OrderedDict) nie jest wiarygodna w zachowaniu kolejności kolumn wyników zapytania.
odpowiedź @vaultah na podobne pytanie
sugeruje użycie pymysql.cursors.DictCursorMixin
:
...aby utworzyć kursor, który zapamiętuje prawidłową kolejność kolumn:
Następnie uzyskaj wyniki jak zwykle:
results = cursor.fetchall()
for row in results:
print row # properly ordered columns
Wolę to podejście bardziej, ponieważ jest stabilne, wymaga mniej kodu i obsługuje porządkowanie na odpowiednim poziomie (w miarę czytania kolumn).