我正在尝试对以下列表进行排序:
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;
使用以下代码:
regist.sort(key = operator.itemgetter(0,3,1))
但是最后两个项目总是在底部结束,是我订购错误的方式,还是我应该添加其他东西?
修改 添加注册列表的代码:
var = str(Linea) + ";" + str(bkt) + ";" + str(val502) + ";;0;"
regist.append(var)
我省略了一些在文本文件中写入一些数据的行
答案 0 :(得分:0)
假设您已将所有内容写入文件:
import csv
getter = operator.itemgetter(0,3,1)
with open('path/to/file') as infile:
answer = sorted(list(csv.reader(infile, delimiter=';')) key=lambda row:(row[0], row[3], int(row[1])))