Under testen fandt jeg, at det valgte svar (konverter dict til OrderedDict) var upålideligt til at bevare kolonnerækkefølgen for forespørgselsresultater.
@vaultahs svar i et lignende spørgsmål
foreslår at bruge pymysql.cursors.DictCursorMixin
:
...for at oprette en markør, der husker den korrekte kolonnerækkefølge:
Så få dine resultater som normalt:
results = cursor.fetchall()
for row in results:
print row # properly ordered columns
Jeg foretrækker denne tilgang bedre, fordi den er stabil, kræver mindre kode og håndterer bestilling på det passende niveau (efterhånden som kolonnerne læses).