title: Replace fieldnames when using DictReader
body: <p>I have a <code>test.csv</code> file:</p>
  
  <pre><code>foo,bar,foobar,barfoo
  
  1,2,3,4
  5,6,7,8
  9,10,11,12
  </code></pre>
  
  <p>And the following <code>CSV</code> parser:</p>
  
  <pre><code>#!/usr/bin/env python
  # -*- coding: utf-8 -*-
  
  import csv
  import json
  
  f = open ( 'test.csv', 'r' )
  
  reader = csv.DictReader( f, fieldnames = ( "foo","bar","foobar","barfoo" ))
  
  out = json.dumps( [ row for row in reader ], ensure_ascii=False, encoding="utf-8")
  
  print out
  </code></pre>
  
  <p>Is there an easy way to replace the fieldnames in the output, without changing the header of the <code>CSV</code> file?</p>
  
  <p>My current output is this:</p>
  
  <pre><code>[
     {
        "foobar":"foobar",
        "foo":"foo",
        "bar":"bar",
        "barfoo":"barfoo"
     },
     {
        "foobar":"3",
        "foo":"1",
        "bar":"2",
        "barfoo":"4"
     },
     {
        "foobar":"7",
        "foo":"5",
        "bar":"6",
        "barfoo":"8"
     },
     {
        "foobar":"11",
        "foo":"9",
        "bar":"10",
        "barfoo":"12"
     }
  ]
  </code></pre>
  
  <p>Could I get something like this:</p>
  
  <pre><code>[
     {
        "id":"foobar",
        "email":"foo",
        "name":"bar",
        "phone":"barfoo"
     },
     {
        "id":"3",
        "email":"1",
        "name":"2",
        "phone":"4"
     },
     {
        "id":"7",
        "email":"5",
        "name":"6",
        "phone":"8"
     },
     {
        "id":"11",
        "email":"9",
        "name":"10",
        "phone":"12"
     }
  ]
  </code></pre>