with open('file.csv', 'r') as infile:
    with open('reordered.csv', 'a') as outfile:
        fieldnames = ['A', 'C', 'D', 'E', 'B']
writer = csv.DictWriter(outfile, fieldnames=fieldnames)
writer.writeheader()
for row in csv.DictReader(infile):
    writer.writerow(row)
Python - re-ordering columns in a csv