Peter,<br><br>  Thank you for your response. I did try reading the documentation but I missed something (or several somethings in this case). So what I see in the code you supplied is:<br><br>with open(source, &quot;rb&quot;) as instream:<br>

    reader = csv.DictReader(instream, skipinitialspace=True)<br>
<br>
    destfieldnames = list(reader.fieldnames)<br>
    destfieldnames.remove(&quot;Species2&quot;)<br><div id=":9c">
    destfieldnames.remove(&quot;Protein ID2&quot;)<br><br>So this reads the csv file in but I need to run it to see what skipinitialspace does. Then it reads in the header line and removes the Species2 and Protein ID2. Does this remove all the data associated with those columns? For some reason I thought I had to bring these into a dictionary to manipulate them. <br>
<br>   with open(dest, &quot;wb&quot;) as outstream:<br>
        writer = csv.DictWriter(outstream, destfieldnames,extrasaction=&quot;ignore&quot;)<br>
        writer.writer.writerow(destfieldnames)<br><div id=":9c">
        writer.writerows(reader)<br><br>I think the first line after the open writes the field names to the file and the follow lines write the data is that correct? I am going to run the code as soon as I get home.<br><br>
ara<br></div><br></div><br><br clear="all"><br>-- <br>Quis hic locus, quae regio, quae mundi plaga. Ubi sum. Sub ortu solis an sub cardine glacialis ursae.<br>