TableViewer
View table-like data files directly in Visual Studio Code.
TableViewer opens pickle, CSV/TSV, NumPy, HDF5, and Zarr files in a paginated table view. It is designed for quickly inspecting local data files without leaving the editor.
Features
- Opens
.pkl, .pickle, .csv, .tsv, .tab, .npy, .h5, .hdf5, .hdf, and .zarr files.
- Detects comma-delimited and tab-delimited text, including tab-delimited
.csv files.
- Supports extensionless pickle files without a wildcard custom editor selector: normal files open in VS Code first, and extensionless pickle files are redirected after a header check.
- Leaves unsupported files, dotfiles, source files, and images to VS Code's default editors.
- Handles HDF5 and Zarr files with multiple datasets by prompting for a data source.
- Provides pagination, configurable page size, multi-column sorting, pinned columns, stable wide-table horizontal scrolling, and search/filter operations.
- Uses lazy page loading for large NumPy arrays, generic HDF5 datasets, and Zarr arrays.
Requirements
This extension runs a local Python process to read data files.
Required Python packages depend on the file type:
pandas: pickle DataFrame/Series and CSV/TSV files
numpy: .npy files
tables: pandas HDF5 stores
h5py: generic HDF5 datasets
zarr: Zarr arrays
You can configure the interpreter with the tableViewer.pythonPath setting or run Select Python Interpreter for TableViewer from the Command Palette. The Browse action opens a lightweight directory picker inside VS Code that shows folders plus files named python, python3, or python3.x, so extensionless executables such as /opt/conda/bin/python3 stay visible without showing unrelated files.
Usage
Open a supported file in VS Code. The file opens in TableViewer automatically for supported extensions.
You can also use the Explorer context menu command:
Open with TableViewer
For extensionless files, VS Code opens the file normally first. TableViewer only redirects to the viewer when the file header looks like pickle; non-pickle extensionless files stay in the normal editor.
Security
Pickle files can execute code when loaded. Only open pickle files from trusted sources.
TableViewer shows a confirmation prompt before loading .pkl and .pickle files.
Settings
{
"tableViewer.pythonPath": "",
"tableViewer.openExtensionlessByDefault": true
}
tableViewer.pythonPath: Python interpreter path. Leave empty to auto-detect.
tableViewer.openExtensionlessByDefault: For files without an extension, check whether the file looks like pickle before opening it in TableViewer.
Existing settings from older builds under pickleViewer.* are still read as a fallback when the new tableViewer.* setting is not explicitly set.
Notes
Large lazy-loaded arrays disable full-data sorting and filtering to avoid loading the entire file into memory.