Importing Data
Studio imports CSV (.csv, .txt) and Excel (.xlsx, .xls) files — one at a time or many at once — from your machine or straight from Google Cloud Storage. Every import becomes a queryable table in your session’s embedded DuckDB database. (PDFs go through their own workflow — see AI PDF Extraction.)
Behind the scenes, the Datagrunt library does what it does best: sniffing delimiters and parsing losslessly, so nothing is silently coerced or dropped on the way in. Columns arrive exactly as they appear in the file; type conversion happens later, when you decide — see Querying & Cleansing.
The import preview
Nothing is committed on upload. Studio first stages each file and shows a preview of exactly how it will be parsed, with per-file controls:
- Skip rows — drop preamble rows above the real data (report titles, generated-on stamps).
- Header detection — tell Studio whether the first (post-skip) row is a header.
- Worksheet selection — for Excel workbooks, each selected sheet imports as its own dataset.
- Target schema — choose which schema the resulting table lands in.
- Column-name normalization — optionally normalize headers to clean, SQL-friendly names.
Adjusting an option re-previews the file instantly, so you can see the effect before committing. When everything looks right, confirm the import and the staged files are ingested into DuckDB. If a table with the same name already exists in the target schema, Studio warns you before overwriting.
Importing from Google Cloud Storage
With Application Default Credentials configured, the GCS browser lets you pick a project, browse buckets and objects, and import files directly — they flow through the same staged preview as local uploads.
Tables, schemas, and naming
- Table names are derived from filenames, normalized to
snake_case; Excel imports append the sheet name (workbook__sheet1). - The default schema is
main. Two more appear as you use the PDF workflow:documents(raw PDF extractions) andrationalized(AI-restructured tables). - A dataset can be moved between schemas after import from the sidebar.
The sidebar lists every dataset with its columns and inferred types. From there you can add a SELECT for any table to the Query Editor, cast column types, move the dataset to another schema, or delete it.
Sessions
Your tables live in a session-scoped local DuckDB file that persists between visits (and, under containers, between runs via .container-data/). Reset Session clears every dataset and starts fresh; individual datasets can be deleted from the sidebar at any time.