from array import array import csv a = array('i') b = array('i') for anum, bnum in csv.reader(open('input.csv', 'rb')): a.append(int(anum)) b.append(int(bnum)) wtr = csv.writer(open('output.csv', 'wb')) for i in sorted(xrange(len(a)), key=lambda x: b[x]): wtr.writerow([a[i], b[i]])