Ist schon ganz cool, dass du itemgetter verwendest und mit sorted einfach über das csv.reader-Objekt iterierst.
Du hast vergessen, dass hier strings verglichen werden. Du solltest die zu verlgeichenden werte erst in integer umwandeln und dann vergleichen.
Code: Alles auswählen
dev converter(row):
try:
return int(row[12])
except ValueError:
return -1
except IndexError:
return -2
Anstatt itemgetter(12) nimmst du jetzt einfach den converter.
Als erstes kämen die Datensätze mit weniger als 13 Spalten. Danach kommen die Datensätze, bei denen die Spalte 12 sich nicht in einen Integer umwandeln lässt und dann von 0 ansteigend.
Die Werte -1 und -2 koennen beliebige Werte sein, muessen aber vom datentyp float oder integer sein. Meistens ist es aber besser, wenn man zuerst daten filtert, die bestimmten Kriterien nicht entsprechen wie z.B Spalte 12 muss einen integer enthalten und anderes wird nicht durchgelassen.
Geschrieben mit einem chinesischen Handy
谢谢
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server