I always use sqlite3 for working with large CSV files:
$ sqlite3
$ .mode csv
$ .import my.csv foo
$ SELECT * FROM foo WHERE name = 'bar';
It reads the header in automatically for the field names and then stores all the values as strings.