Jan-11-2018, 09:30 PM
you are over-complicating something simple as
import csv infile = 'infile.csv' # file with large number of columns, dummy filednames field1, field2...field1460 outfile = 'outfile.csv' # you need just 3 out of 1460 columns field2, field10, filed25, in that order fieldnames = ['field2', 'field10', 'field25'] with open(infile, 'r') as in_f, open(outfile, 'w', newline='') as out_f: rdr = csv.DictReader(in_f) wrtr = csv.DictWriter(out_f, fieldnames=fieldnames, extrasaction='ignore') wrtr.writeheader() for row in rdr: wrtr.writerow(row)