【发布时间】:2016-03-31 11:52:22
【问题描述】:
我正在尝试将 CSV 文件读入列表,然后根据列表的前两列对其进行排序(首先按第一列,如果第一列相同,则按第二列)。这就是我正在做的:
def sortcsvfiles(inputfilename,outputfilename):
list1=[]
row1=[]
with open(inputfilename,'rt') as csvfile1:
reader=csv.reader(csvfile1)
cnt=0
for row in reader:
if cnt==0: #skip first row as it contains header information
row1=row
cnt+=1
continue
list1.append((row))
list1.sort(key=lambda ro: (int(ro[0]),int(ro[1])))
list1.insert(0, row1)
with open(outputfilename,'wt') as csvfile1:
writer=csv.writer(csvfile1, lineterminator='\n')
for row in list1:
writer.writerow(row)
但我收到以下错误:
File "C:\Users\50004182\Documents\temp.py", line 37, in <lambda>
list1.sort(key=lambda ro: (int(ro[0]),int(ro[1])))
IndexError: list index out of range
我该如何解决这个问题?
【问题讨论】:
-
请同时提供您的 CSV 文件的样本副本。