更改CSV文件以更改打印的订单或数据

时间:2016-12-02 20:55:44

标签: python jython jes

以下功能采用格式为等级类型,等级类型编号,等级的csv文件。示例前10个是分配,分配编号,等级。该函数将前10个放入列表中。

目前它按订单分配,分配编号,等级打印,但我试图按等级,分配,分配编号顺序打印。

def assigment(file):
    res = []
    f = open(file,'r+')
    reader = csv.reader(f)
    for i, line in enumerate(reader):
      if i < 10:  
        res.append((line[0],int(line[1]),int(line[2])))

        res.sort(key= lambda x: x[2])

    max = res[-1]
    min = res[0]

    print max
    print min

1 个答案:

答案 0 :(得分:0)

输出数据中有两种排序方式。一个是每行中项目的顺序,另一个是行的顺序。

每行中的项目顺序由行

控制

res.append(( . . .

要修改此顺序,只需更改此行中子表达式的顺序。

要修改线条的顺序,一种非常好的方法是重复排序。首先按最不重要的标准排序,然后按最重要的标准排序。

如果要按每行的元素0排序,按元素1的值断开连接,并按元素2的值断开任何剩余的连接,则在代码中有三行排序,而不是仅1,例如:

res.sort(key= lambda x: x[2])
res.sort(key= lambda x: x[1])
res.sort(key= lambda x: x[0])

或一些等价物。 Python排序是稳定的#34;因此,例如,如果最终排序的键是相同的,最后的排序步骤将保留现有的排序。