Using the GUI

← Contents

On macOS, use Cmd wherever this manual says Ctrl.

The window

The main window

Each file opens in its own window. The Window menu lists the open windows so that you can switch between them.

Opening files

A file opened from a window that already shows one opens in a new window. File → Close (Ctrl+W) closes the window, File → Quit (Ctrl+Q) quits TableSkim.

Rows are read in the background: the table appears at once, cells that are not loaded yet are filled in as they arrive, and the window stays responsive.

Moving around and selecting

Copying

Edit → Copy (Ctrl+C) copies the selected cells as tab-separated text (TSV), which can be pasted into a spreadsheet. Hidden columns are left out. Tabs and line breaks inside a cell are replaced with spaces, and a cell that starts with a double quote is quoted so that it pastes back as it was. If some selected rows are not loaded yet, they are skipped and a message says how many rows were copied.

Going to a row, cell or column

Edit → Go To... (Ctrl+G) jumps to:

The Go To dialog

The sidebar

View → Show sidebar shows or hides the sidebar. It also appears automatically when you use Find, Filter or Column Statistics. Drag its left edge to make it wider.

The Content pane shows the whole value of the selected cell, wrapped to the width of the pane. This is useful for long text. Double-click a cell to open it.

The Content pane

Sorting

Click the sort button (the small arrows at the right of a column header) to sort by that column: the first click sorts in ascending order, the second in descending order, and the third restores the file order. The arrow in the header shows the current direction. Sorting by one column replaces any other sort.

Sorted by Age, descending

Right-click a column header for the column menu, which has Sort Ascending, Sort Descending and No Sort as well as filtering, statistics, histograms, hiding and freezing.

The column header menu

How values are compared (numbers, dates, text, empty cells) is explained in Sorting, Filtering, Searching and Statistics.

Filtering

Chart selections are kept as Additional narrowing, ANDed with the conditions in the Filter pane even when Match: Any is selected. Editing those conditions keeps the chart selection. Click Additional narrowing (...) - Clear to remove only the chart selection; Clear removes both. Further chart selections narrow the remaining rows again.

Quick filters

Right-click a cell and choose Filter: = "value" to show only rows with the same value in that column, or Filter: ≠ "value" to hide them. Each quick filter is added to the current filter as another condition.

The cell menu with quick filters

The Filter pane

Edit → Filter... (Ctrl+Shift+F), or Filter by This Column... in a column or cell menu, opens the Filter pane.

The Filter pane with two conditions

The filter operators

The operators are contains, not contains, =, ≠, <, ≤, >, ≥, is empty, is not empty, matches and not matches (regular expressions), is a number and is a date. Comparisons follow the type of each cell: numbers compare as numbers, dates as dates, and = 2024-01-31 matches any time on that day. See Sorting, Filtering, Searching and Statistics for the details.

Edit → Clear Filter, or Clear Filter in a column or cell menu, removes the filter.

Searching

Edit → Find... (Ctrl+F) opens the Search pane. Type the text and press Enter or Search.

Searching for "watanabe"

Column statistics

Edit → Column Statistics (Ctrl+Shift+I), or Column Statistics in a column or cell menu, opens the Statistics pane for the current column. Choose another column from the list at the top.

Statistics of the Salary column

Histograms

Charts and Group By shows, with examples, which chart to use and how to read it.

Edit → Histogram... (Ctrl+Shift+H), or Histogram in a column or cell menu, opens a histogram of the current column in a window of its own. Choose another column from the Column list at the top; the line next to it summarizes what was counted, for example "53 numbers in 30 bins, 1 empty".

Histogram of the Salary column

Histogram of a date column, in two-year bins

The histogram always follows the current view of the sheet: changing the filter, in the Filter pane or anywhere else, recomputes it, and the summary says "(filtered rows)". Below, the 1994–1995 bar was double-clicked: the sheet now shows those six rows and the histogram shows them in monthly bins.

After double-clicking a bar: the filtered sheet and its histogram

For a text column, each bar is one value; double-clicking it filters the sheet to that value.

Most frequent values of a text column

How bins are chosen is described in Sorting, Filtering, Searching and Statistics.

Save Image... writes the chart as a PNG or SVG file (by the extension of the name, or the type chosen in the dialog). The image is the chart as shown, at its size in the window, with the column name under the axis.

Scatter plots and 2D density

Edit → Scatter Plot... (Ctrl+Shift+P), or Scatter Plot in a column or cell menu, plots two columns against each other in a window of its own. If two or more columns are selected, the first and last are X and Y. Otherwise TableSkim picks columns holding numbers or dates (judged by the rows around the current cell): Y is the current column, or the nearest such column, and X the nearest such column to its left (or, if there is none, to its right). Choose other columns from the X and Y lists, and the kind of plot from Show:

Scatter plot of two number columns

Y must hold numbers or dates. X may hold numbers or dates too, or text (see Text on X: box plots below). Rows where either value is empty or of another kind are left out and counted as "skipped" in the summary.

The line under the summary shows how closely the columns are related, for example r = 0.0945, R² = 0.0089, y = 2641.23 x + 744351: Pearson's correlation coefficient r (from −1 to 1), its square R², and the least-squares line. They are computed over every row plotted, not only the sample of points. Regression line draws that line on the plot. The equation is left out when a column holds dates, whose values would be in microseconds.

2D density of the same columns

Like the histogram, the plot follows the current view of the sheet, so after filtering it is drawn again for the rows left. Edit → Clear Filter goes back to all rows. See Sorting, Filtering, Searching and Statistics for the details.

Text on X: box plots

When the X column holds text (such as a city or a department), each of its values is a category with a column of its own: the 30 most frequent values, most frequent first, and (other) for the rest. Show then switches to Box Plot (it is available only then):

Box plots of Age by City

There is no correlation or regression line for categories, and no rectangle to drag.

Saving the plot

Save Image... writes the plot as a PNG or SVG file, as shown: the kind of plot, the colour scale, the regression line and the axis titles (the column names). The type follows the extension of the name (.png or .svg), or the type chosen in the file dialog. SVG files keep lines and text sharp at any size; the points of a scatter plot are an image inside them.

Group By

See also Charts and Group By for worked examples.

Edit → Group By... (Ctrl+Shift+G), or Group By… in a column menu, counts the rows of the current sheet by the values of some columns, like a pivot table or SQL's GROUP BY, and shows the result in a new sheet named Group By.

The Group By dialog

The result has one row per group, in sort order of the group's values: the group columns, count (the rows of the group), and a column such as Salary sum for each aggregated column and function. It covers the rows of the current view, so it follows the filter.

Rows counted by City, with the sum and mean of Salary

The Group By sheet can be sorted, filtered, exported and grouped again like any other. Grouping again replaces it. It is a snapshot: it does not change when the original sheet does, but stays when the file is reloaded. Empty cells form a group of their own; how values are compared is described in Sorting, Filtering, Searching and Statistics.

Hiding and freezing columns

Hiding columns

Right-click a column header and choose Hide Column. If several columns are selected and you right-click one of them, Hide Columns hides them all. View → Show All Columns (or Show All Columns in the column menu) shows them again.

Hidden columns are skipped when moving the cursor, copying and exporting. They still take part in sorting, filtering and statistics.

Freezing columns

Right-click a column header and choose Freeze Columns up to Here: that column and all columns to its left stay in place when you scroll sideways. Unfreeze Columns in the column menu, or View → Freeze Columns, turns it off. At least one column must remain unfrozen.

ID and Name frozen while scrolling right; the Email column is hidden

Column types and formats

TableSkim looks at the first 1,000 rows read to tell what each column holds, and marks the header: # for numbers, @ for dates and date-times, ? for booleans (TRUE / FALSE). Text and mixed columns have no mark. Text cells count as what they read as, so a CSV column of 42 and 3.5 is a number column. A few stray values (a - among numbers) do not change the kind, as long as 90% of the values agree.

Format in the column header menu changes how the column shows its values; the first line of the submenu shows its type, for example "Type: Number (whole numbers)":

The Format menu of a column

If several columns are selected and you right-click one of them, the change applies to all of them. Numbers and dates held as text are formatted too. Only the display changes: sorting, filtering, copying and exporting use the values as they are. Formats belong to the sheet in this window and are kept when the file is reloaded.

Sheets

Excel workbooks and databases show one tab per worksheet, table or view at the bottom of the window. Click a tab to switch. Each sheet keeps its own sort, filter, hidden and frozen columns.

Worksheets of an Excel workbook

Running SQL

For DuckDB, SQLite, Parquet and JSON files, Edit → Run SQL... (Ctrl+E) opens the SQL window. Type a query and press Run (Ctrl+Enter); the result appears as a new sheet named SQL Result.

A query and its result

The SQL window has a history (History, Ctrl+Up / Ctrl+Down) and completion (Tab). See Running SQL for details.

Exporting and converting

Both run behind a progress dialog with a Cancel button. See Exporting and Converting.

Editing cells

Cells of CSV / TSV and Excel files can be changed in edit mode only: Edit → Edit Mode (Ctrl+Shift+M) turns it on and off, and the title shows [Editing]. Then F2, Enter, typing or a double click edits a cell, Delete clears the selected cells, Edit → Paste (Ctrl+V) pastes tab-separated text, Edit → Undo / Redo take changes back, and File → Save (Ctrl+S) or File → Save As... (Ctrl+Shift+S) writes them. Edited cells are green until saved. See Editing Cells.

Reloading changed files

After a reload, a SQL result sheet is computed again by running the last query. With unsaved edits, Revert asks before dropping them, and Auto Revert waits (the title shows (changed on disk) if the file changes).

Display options

The View menu:

The View menu

ItemEffect
Use monospace fontShow cells in a monospace font
First RowAuto (header if it looks like one), Header or Data (CSV / TSV / Excel)
Skip lines starting with ##Drop ## lines of text files (on by default for VCF)
Text EncodingUTF-8, UTF-16LE, UTF-16BE or Shift_JIS (CP932), for CSV / TSV
Show All ColumnsShow hidden columns again
Freeze ColumnsFreeze the columns up to the selected one, or unfreeze them
Show sidebarShow or hide the sidebar
ThemeFluent, Basic, Plastic, GTK+, Gleam or Oxy look

Items that do not apply to the current file (for example the header option for a Parquet file) are disabled.

File menuShortcut
Open...Ctrl+O
Open Recent
CloseCtrl+W
Save (edit mode)Ctrl+S
Save As... (edit mode)Ctrl+Shift+S
Revert
Auto Revert
Follow End of FileCtrl+Shift+T
Export View...Ctrl+Shift+E
Convert to Parquet / DuckDB...
Show File in File Browser
Quit (in the application menu on macOS)Ctrl+Q
Edit menuShortcut
Undo (edit mode)Ctrl+Z
Redo (edit mode)Ctrl+Shift+Z
CopyCtrl+C
Paste (edit mode)Ctrl+V
Find...Ctrl+F
Go To...Ctrl+G
Filter...Ctrl+Shift+F
Clear Filter
Column StatisticsCtrl+Shift+I
Histogram...Ctrl+Shift+H
Scatter Plot...Ctrl+Shift+P
Group By...Ctrl+Shift+G
Run SQL...Ctrl+E
Edit ModeCtrl+Shift+M

The File menu The Edit menu

Help menuShortcut
User ManualF1
About...

Help → User Manual (F1) opens this manual in a window of its own, in Japanese if that is the language of the system and in English otherwise; the list at the top right switches the language. Back / Forward (Alt+Left / Alt+Right) return to pages seen before, and Contents goes to the table of contents. The manual is built into TableSkim, so it works offline.

Help → About... shows the version and the licenses of the bundled third-party software and fonts.