Sorting using multiple elemets in python -
i trying sort following list:
skp3_chu;20160101;0.0;reproceso; skp3_chu;20160102;10.4186115265;reproceso; skp3_chu;20160103;13.4833335876;reproceso; skp3_chu;20160104;16.0980548859;reproceso; skp3_chu;20160105;6.93333339691;falta espacio; skp3_chu;20160106;5.93333339691;falta espacio; skp3_chu;20160107;6.28138732918;falta espacio; skp3_chu;20160108;13.0666666031;falta demanda; skp3_chu;20160109;17.3333339691;falta demanda; skp3_chu;20160110;17.3333339691;falta demanda; skp3_chu;20160111;17.3333339691;falta demanda; skp3_chu;20160112;17.3333339691;falta demanda; skp3_chu;20160113;18.2833347321;falta demanda; skp3_chu;20160114;14.0166664124;falta demanda; skp3_chu;20160115;18.2833347321;falta demanda; skp3_chu;20160116;18.2833347321;falta demanda; skp3_chu;20160117;18.2833347321;falta demanda; skp3_chu;20160118;18.2833347321;falta demanda; skp3_chu;20160119;17.5166664124;falta demanda; skp3_chu;20160120;18.2833347321;falta demanda; skp3_chu;20160121;14.0166664124;falta demanda; skp3_chu;20160122;18.2833347321;falta demanda; skp3_chu;20160123;18.2833347321;falta demanda; skp3_chu;20160124;18.2833347321;falta demanda; skp3_chu;20160125;18.2833347321;falta demanda; skp3_chu;20160126;16.75;falta demanda; skp3_chu;20160127;18.2833347321;falta demanda; skp3_chu;20160128;14.0166664124;falta demanda; skp3_chu;20160129;18.2833347321;falta demanda; skp3_chu;20160130;18.2833347321;falta demanda; skp3_chu;20160131;18.2833347321;falta demanda; skp3_chu;20160104;0.851945877;falta espacio; skp3_chu;20160107;6.05194568622;falta demanda;
by using following code:
regist.sort(key = operator.itemgetter(0,3,1))
but last 2 items end @ bottom, way ordering items wrong, or should add else?
edit code adding regist list:
var = str(linea) + ";" + str(bkt) + ";" + str(val502) + ";;0;" regist.append(var)
i omitted lines, write data in text file
assuming wrote of file:
import csv getter = operator.itemgetter(0,3,1) open('path/to/file') infile: answer = sorted(list(csv.reader(infile, delimiter=';')) key=lambda row:(row[0], row[3], int(row[1])))
Comments
Post a Comment