How to import CSV to an existing table on BigQuery using columns names from first row?
When you import a CSV into BigQuery the columns will be mapped in the order the CSV presents them - the first row (titles) won't have any effect in the order the subsequent rows are read. 
To be noted, if you were importing JSON files, then BigQuery would use the name of each column, ignoring the order.
I have a python script that execute a gbq job to import a csv file from Google cloud storage to an existing table on BigQuery.
How can I set the job properties to import to the right columns provided in the first row of the csv file? 
I set parameter 'allowJaggedRows' to TRUE, but it import columns in order regardless of column names in the header of csv file.