Vid testning fann jag att det valda svaret (konvertera dict till OrderedDict) var otillförlitligt när det gäller att bevara kolumnordningen för frågeresultat.
@vaultahs svar i en liknande fråga
föreslår att du använder pymysql.cursors.DictCursorMixin
:
...för att skapa en markör som kommer ihåg rätt kolumnordning:
Få sedan dina resultat som vanligt:
results = cursor.fetchall()
for row in results:
print row # properly ordered columns
Jag föredrar detta tillvägagångssätt bättre eftersom det är stabilt, kräver mindre kod och hanterar beställning på lämplig nivå (eftersom kolumnerna läses).