Skip to main content

BIGQUERY CSV LOAD

Prepare a UTF-8 CSV with the right delimiter for BigQuery

BigQuery load jobs expose encoding, field delimiter, quote, and header settings. Make those choices explicit in the source CSV so a load failure is not confused with a schema or data-type error.

Published:

Updated:

Related tool: Convert encoding & format

Treat file format and table schema as two layers

A BigQuery CSV load can fail because bytes are not decoded as expected, fields are separated incorrectly, or the parsed values do not fit the destination schema. LocaCSV handles the first two layers; the table schema and type coercion remain BigQuery decisions.

  • Invalid characters: convert the confirmed source encoding to UTF-8.
  • Columns shift: set the field delimiter and quote behavior to match the export.
  • Load parses but types fail: inspect the destination schema, date format, and null values.

Check the load job settings before editing rows

Write down whether the file has a header row, which delimiter separates fields, and whether quoted values contain commas or newlines. Use a small sample to prove the parse before processing the larger extract.

  • Do not assume comma because the file extension is .csv; inspect the first rows.
  • Keep identifiers such as account codes as text when the destination schema requires them.
  • A UTF-8 conversion does not remove a BOM or change a header unless you explicitly choose that format.

Prepare a bounded sample before the load

LocaCSV is a pre-load check for files within its browser limit. It does not replace BigQuery Storage Write API, Cloud Storage, or a large-scale load job.

  1. Copy the export and open it in LocaCSV's format conversion workspace.
  2. Select the source encoding and delimiter that keep the preview aligned.
  3. Set UTF-8 and the delimiter expected by the BigQuery load job, then save a separate CSV.
  4. Use the converted sample to validate the load schema before moving to the full export.

Reconcile rows before and after loading

  • The converted file has the same header and data-row count as the source.
  • Quoted commas stay inside their field and do not create extra columns.
  • The load preview matches the expected schema and header-skip setting.
  • The job's output row count and rejected-row report are recorded with the source filename.

Handle BigQuery errors after parsing

If parsing succeeds but the job rejects rows, review schema mode, required fields, date formats, and numeric precision. If the extract is too large for a browser pre-check, create bounded samples rather than claiming the whole load was validated locally.

Make the next BigQuery load predictable

Keep the encoding, delimiter, header, schema version, and reconciled row count beside the load job configuration for the next refresh.

Official documentation

Limits and import formats can change. Use the official documentation below as the final check for your account and plan.