import csv FIELDS_TO_DROP = set(["HITId","HITTypeId","RequesterAnnotation","AssignmentId","WorkerId"]) OUTPUT_FILE_SEPARATOR = '\t' OUTPUT_FILE_EXTENSION = '.tsv.txt' # .txt makes it viewable in the browser with open("Batch_2166857_batch_results.csv",'rb') as infile: infile_reader = csv.DictReader(infile) fields = infile_reader.fieldnames fields_to_keep = [field for field in fields if field not in FIELDS_TO_DROP] with open("Batch_2166857_batch_results_anonymized" + \ OUTPUT_FILE_EXTENSION,'wb') as outfile: outfile_writer = csv.DictWriter(outfile, fieldnames=fields_to_keep, delimiter=OUTPUT_FILE_SEPARATOR) outfile_writer.writeheader() for row in infile_reader: for field in FIELDS_TO_DROP: del row[field] outfile_writer.writerow(row)