以下功能采用格式化等级类型,等级类型编号,等级的csv文件。前10个例子是作业,作业编号,等级。该函数将这些前10列入列表。更改CSV文件以更改打印订单或数据
此刻它在打印顺序assigment,assigment number,grade,但我试图按照等级,assigment,assigment号码的顺序打印它。
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
对于它的价值,'key = lambda x:x [2]'可以用'operator.itemgetter(2)'代替。另外'对于我,在列举行(读者):如果我<10:'用于行itertools.islice(读者,10):'。 –
如果你只使用前10行,你为什么要迭代整个CVS?当'i'达到10时'break'。另外,为什么在每个'append'之后对'res'进行排序,为什么不在最后一次呢? –