如果极有可能每次输入文件或输出文件都不会具有相同的布局,则这是获取“ reorderfunc”的更通用的方法:
writenames = "test,QC,Plate,Sample".split(",") # examplereader = csv.reader(input_file_handle)writer = csv.writer(output_file_handle)# don't forget to open both files in binary mode (2.x)# or with `newline=''` (3.x)readnames = reader.next()name2index = dict((name, index) for index, name in enumerate(readnames))writeindices = [name2index[name] for name in writenames]reorderfunc = operator.itemgetter(*writeindices)writer.writerow(writenames)for row in reader: writer.writerow(reorderfunc(row))


