Create your first report
In this tutorial you create a small CSV file, run tabalyst report on it, open
the HTML report and read the problems Tabalyst detects. It takes about five
minutes. You need Tabalyst installed and up to date: see
Install Tabalyst. If it is already installed, update it
first, since the output shown here comes from the latest release:
pip install --upgrade tabalyst1. Create a CSV file
Section titled “1. Create a CSV file”In your working folder, create a file named orders.csv with this content:
id,name,amount,joined,active,notes001,Alice,12.50,2026-01-01,true,First order002,Bob,,2026-02-01,false,003,Charlie,25.00,2026-03-01,true,"Two items, one order"003,Charlie,25.00,2026-03-01,true,"Two items, one order"004,Dana,not available,2026-04-01,true,Pending reviewThis file contains deliberate problems: a repeated row, empty cells and a text value in a numeric column.
2. Run the report
Section titled “2. Run the report”tabalyst report orders.csvTabalyst prints a summary and the location of the report:
Analyzed 5 rows and 6 columns.Report: C:\work\orders.htmlThree files now sit beside orders.csv:
orders.csvorders.html the interactive reportorders.json the JSON profile, for scripts and other toolsexecutions.json the history of the runs in this folder3. Open the report
Section titled “3. Open the report”Open orders.html in your web browser, by double-clicking it or from the
terminal:
start orders.html # Windowsopen orders.html # macOSxdg-open orders.html # LinuxThe report works offline. Add --details to the command to create an
independent HTML page per column under orders/. The Columns table then
links to those pages. In each column page, Overview shows the stored values
with counts and all detected formats directly. The files contain values from
your data: share them accordingly.
4. Read what Tabalyst found
Section titled “4. Read what Tabalyst found”The report is organized in sections: Dataset overview, Columns, Transformations, Numeric analysis, Date analysis, String analysis, Detectors and formats, Data sample and Analysis settings. A Limits and diagnostics section appears when the scan stopped a measure at a limit or recorded a diagnostic.
In Dataset overview, the Quality observations card lists the problems in
orders.csv. Warnings come first; the two whitespace observations are
informational and are always listed, here with a count of 0.
| Problem | Where | Why |
|---|---|---|
| 1 duplicate row | Record 4 | It repeats record 3 exactly |
| 2 missing cells | amount and notes, record 2 | The cells are empty |
| 1 column with mixed types | amount | Three numbers and the text not available |
Look at the columns too:
idis detected as text, not integer: values such as001have leading zeros, so Tabalyst keeps them as text.joinedis detected as a date in theYYYY-MM-DDformat.activeis detected as a boolean (true/false).
Types are descriptive hints: Tabalyst never modifies your CSV file.
5. Run it again
Section titled “5. Run it again”Run the same command a second time:
tabalyst report orders.csvTabalyst refuses to replace the existing report:
Error: Report output already exists. Use --force to replace it: orders.html orders.jsonAdd --force when replacing the report is intentional:
tabalyst report orders.csv --forceexecutions.json is not replaced: each run adds an entry to it.
What you learned
Section titled “What you learned”tabalyst report FILE.csvcreates an HTML report and a JSON profile beside the source file.- The report shows detected types, missing values, duplicates and other problems, without changing your data.
- Existing reports are protected unless you pass
--force.
Next steps
Section titled “Next steps”- Choose the output name with
-o, or process several files at once withtabalyst report *.csv -d reports/. Runtabalyst report --helpfor all options. - Use the JSON profile in your own scripts.
- Adapt the analysis with a configuration file.