Skip to content
Beta · version 0.6.1 · commands and the JSON format may still change.

Report CSV files

tabalyst report analyzes a CSV file and writes an HTML report and a JSON profile. The simplest command keeps the source name:

Terminal window
tabalyst report customers.csv
customers.csv
customers.html
customers.json
executions.json

Use -o to choose a different HTML filename for one source. The profile takes the same name with .json:

Terminal window
tabalyst report customers.csv -o customer-analysis.html
Terminal window
tabalyst report *.csv

Each report is created beside its source and keeps the source stem: customers.csv gives customers.html, orders.csv gives orders.html.

Use -d to place every report in one directory:

Terminal window
tabalyst report *.csv -d reports/
reports/
├── customers.html
├── customers.json
├── orders.html
├── orders.json
└── executions.json

-o names one output file and accepts only one input. -d names an output directory and accepts one or many inputs. tabalyst report *.csv -o report.html is rejected before any file is processed. Quotes are only needed when a path contains spaces. On Windows, Tabalyst expands wildcards itself.

Terminal window
tabalyst report customers.csv --details

The Columns table of the report then links to one self-contained HTML page per column, with its values, counts and detected formats. The pages are in a subfolder named after the HTML file without .html (customers/, or report/ for -o report.html), named col-01- followed by a shortened slug of the column name, in source order. Details are off by default. With --force, --no-details removes the column pages generated earlier and keeps other files of the folder.

Before processing begins, Tabalyst resolves every input and every planned HTML and JSON output. It stops the whole batch when two outputs collide or when an output already exists. With --details, each column page is checked after its profile is built and before that report’s files are written. Replace existing reports only on purpose:

Terminal window
tabalyst report *.csv -d reports/ --force

If one CSV is malformed, Tabalyst reports the error, continues with the other files and returns a non-zero exit code at the end.

Interactive terminals show file and phase progress on standard error:

[2/8] orders.csv - Analyzing

Progress is turned off outside a terminal, and by --no-progress or --quiet.

Terminal window
tabalyst report data.csv --delimiter ";"
tabalyst report data.csv --encoding cp1252
tabalyst report data.csv --config tabalyst.json
tabalyst report data.csv --verbose
tabalyst report data.csv --workers 4

Files of 16 MiB or more are analyzed by several worker processes with the same result; --workers 1 keeps one process. All options are in the command line reference, and the analysis settings in the configuration reference.

tabalyst report reuses the stored scan of a source when its content and the requested scan settings are current, and creates or replaces it otherwise. To build a report from a scan document without reading the source again:

Terminal window
tabalyst report --scan customers.scan.json

Tabalyst refuses a scan whose source changed since it was written. See Scan CSV and JSON files.