I want to upload csv data into BigQuery. When the data has different types (like string and int), it is capable of inferring the column names with the headers, because the headers are all strings, whereas the other lines contains integers.

> 
> BigQuery infers headers by comparing the first row of the file with
>  other rows in the data set. If the first line contains only strings,
>  and the other lines do not, BigQuery assumes that the first row is a
>  header row.
> 
> 
> 

<https://cloud.google.com/bigquery/docs/schema-detect>

The problem is when your data is all strings ...

You can specify `--skip_leading_rows`, but BigQuery still does not use the first row as the name of your variables.

I know I can specify the column names manually, but I would prefer not doing that, as I have a lot of tables. Is there another solution ?