title: write CSV columns out in a different order in Python
body: <p>I realize this is very similar to this <a href="https://stackoverflow.com/questions/1885324/is-it-possible-to-keep-the-column-order-using-the-python-csv-dictreader">question</a>.  However, I have a CSV file that always comes in the same format that I need to write out with columns in a different order to move it down the data processing pipeline.  If my csv file contains headers and data like this:</p>
  
  <pre><code>Date,Individual,Plate,Sample,test,QC
  03312011,Indiv098,P342,A1,deep,passed
  03312011,Indiv113,P352,C3,deep,passed
  </code></pre>
  
  <p>How would I write out a csv file with the same columns as the original input csv but in the following order:</p>
  
  <pre><code>test,QC,Plate,Sample
  deep,passed,P342,A1
  deep,passed,P352,C3
  </code></pre>
  
  <p>My initial thought was to do something like this:</p>
  
  <pre><code>f = open('test.csv')
  lines = f.readlines()
  for l in lines:
      h = l.split(",")
      a, b, c, d, e, f  = h
      for line in h:
          print e, f, c, d, 
  </code></pre>