Exporting and Converting

← Contents

Outside edit mode, TableSkim never changes the files it opens, but it can write what you see to a new file. The view is exported with any unsaved edits.

FeatureSourceOutputWhat is written
Export ViewAny sheet, including SQL resultsCSV, TSV, Excel, ParquetThe sheet as shown: sorted, filtered, without hidden columns
Convert to Parquet / DuckDBCSV, TSV, VCF and other text filesParquet, DuckDBThe whole file, in file order

Export View

Choose a file name; its extension selects the format:

ExtensionFormat
.csvComma-separated text, UTF-8
.tsv, .tabTab-separated text, UTF-8
.xlsxExcel workbook
.parquetParquet

If the name has none of these extensions, the GUI adds the extension of the type chosen in the file dialog, and the terminal UI refuses it with the message "Choose a name ending in .csv, .tsv, .xlsx or .parquet".

The suggested name is the source file name with -export added, for example sales-export.csv; for a file with several sheets the sheet name is included, as in book-Sheet1-export.xlsx.

What is written:

If a column mixes integers and decimals, it stays text when converting to floating point would change an integer's value. This also applies to Convert to Parquet / DuckDB.

The export runs in the background with a progress display; Cancel (GUI) or Esc (TUI) stops it. The target file is replaced only when it has been written completely, so a cancelled export leaves an existing file untouched. If the sheet's sort or filter changes during the export, the export fails and can be started again.

Convert to Parquet / DuckDB

Text files have no index, so every sort or filter of a large CSV file reads all its rows into memory. Converting it once to Parquet or DuckDB makes later work fast: those formats are sorted and filtered inside DuckDB, and they can be queried with SQL.

What is written:

As for exports, the conversion can be cancelled, and the target file is replaced only when it is complete. The source file itself cannot be chosen as the target.