I have a test.csv file:
foo,bar,foobar,barfoo 1,2,3,4 5,6,7,8 9,10,11,12
And the following CSV parser:
#!/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
Is there an easy way to replace the field names in the output without changing the header of the CSV file?
My current output is:
[ { "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" } ]
Can I get something like this:
[ { "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" } ]