以下の機能は、フォーマットされたグレードタイプ、グレードタイプ番号、グレードのcsvファイルを取ります。例最初の10は割り当て、割り当て番号、等級です。この関数は、最初の10文字をリストに入れます。CSVファイルを変更して注文やデータを変更する
現時点では、それは順不同、譲渡番号、等級で印刷されていますが、グレード、譲渡、譲渡番号の順に印刷しようとしています。
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)'に置き換えることができます。 'for i、enumerate(reader):i <10:'ならばitertools.islice(reader、10)の行に ':for'と書いてください。 –
最初の10行だけを使用している場合は、なぜCVS全体を反復処理していますか? 'i'が10になったときに'中断 'します。また、 'append'の後に' res'をソートする理由は何ですか? –