我在csv文件中有一組值。這些值如下所示。我希望這些值按層列進行排序,在下面的示例中,它的值爲7208和7209。否則,我希望csv文件完全按照原樣。我的代碼似乎沒有正確排序。如何使用operator.itemgetter()對csv文件進行排序
這裏的CSV文件:
l_d,l_t,utc,SI,UTC,La,Lon,H,layer,N,Pr,EId,Pype,BS,Vo,Te,Chs,PT,Pass
01-08,11:00:19,03:00:19,0x037,01-08_02:58:03,None,None,None,7208,None,None,None,None,87,15.4,None,None,None,MENT
01-08,11:00:19,03:00:19,0x037,01-08_02:58:03,None,None,None,7209,None,None,None,None,87,15.4,None,None,None,MENT
這裏是我當前的代碼:
import sys
import csv
import operator
reader = csv.reader(open("M_B.csv"), delimiter=",")
sortedlist = sorted(reader, key=operator.itemgetter(9), reverse=True)
print(sortedlist)
with open("M_B_Sorted.csv", "wb") as f:
writer = csv.writer(f)
writer.writerows(sortedlist)
'鍵= INT(operator.itemgetter(8))' – inspectorG4dget
您需要使用'鍵=拉姆達行:INT(行[8])'加代碼添加到跳過第一行和公正將它從閱讀器複製到作者。 – martineau