The export sheet
- Open the file and press ⌘E.
- Choose the format — or one of your saved formats.
- Choose the rows: all, only those the filter shows, or only the selected ones — with a row limit if you like.
- Choose the columns, tick or untick them, and drag them into the order the receiver wants. The choice is kept for the file, so the next export starts where this one left off.
- Set the format's options and save. A preview shows the first rows as they will come out.
Which format for which job
| You need | Export as |
|---|---|
| A file for Excel users | Excel .xlsx, with a frozen header — codes with leading zeros and long numbers stay text |
| A file for LibreOffice or Numbers | OpenDocument .ods |
| An API or a web app | JSON (objects or arrays), nested JSON, JSON Lines |
| Configuration or a map | YAML, XML, TOML, property lists, GeoJSON |
| A data pipeline | Parquet, Avro, ORC, Arrow, Feather, HDF5 — or BSON, MessagePack and Python pickles |
| A database | SQLite database, or SQL INSERT statements with CREATE TABLE — for standard SQL, MySQL and MariaDB, or PostgreSQL |
| Statistics software | SPSS, Stata, SAS transport, R data, MATLAB |
| A mainframe | Fixed-length EBCDIC records and a COBOL copybook |
| Something to print or send | PDF (PDF/A too), Word .docx, rich text |
| Documentation | Markdown, HTML, LaTeX, AsciiDoc |
| Another CSV | CSV or TSV with the separator, quoting, encoding and line endings you choose |
Options that come up often
- Empty values: leave them empty, or write
NULL, a dash or anything else. - Decimal separators: keep them as written, or normalise every number to a point or a comma.
- Column names: include them or not.
- Encoding and BOM for text formats; sheet name for workbooks; table name and rows per INSERT for SQL.
Presets and automation
Save any combination as a named format in Settings ▸ Formats; eleven are built in, including Excel (European), Excel (US), RFC 4180, SQL inserts and a PDF report.
For conversions that happen every day, the command line does it without a window:
icsv convert ledger.sav --to ledger.parquet
icsv old.txt -d semicolon --to clean.csv
The ending of the name picks the format. The command waits until the file is written, so the next line of a script
can use it, and anything that went wrong comes back as a message and an exit code. AppleScript can do the same inside a
workflow: export table to "~/Desktop/sales.xlsx".
Try it on your own file
Intact CSV Editor is in beta. Join the beta and we will write to you as soon as your access is ready.