VisiData Documentation
VisiData is an interactive multitool for tabular data in the terminal. It combines the clarity of a spreadsheet, the efficiency of the terminal, and the power of Python — capable of handling millions of rows with ease.
Who This Track Is For
- Data analysts and engineers exploring CSV, JSON, SQLite, and log files in the terminal
- Sysadmins parsing structured output from commands and log files interactively
- Developers who need a fast, keyboard-driven alternative to spreadsheets and pandas
What You Will Build
- A fast sheet-based exploration workflow for any tabular data format
- Column manipulation pipelines: type casting, derived columns, regex splits
- Frequency tables, pivot tables, and in-terminal scatterplots
- A
.visidatarcconfiguration that matches your workflow - Replayable audit trails via VisiData's CommandLog
How To Use This Track
- Follow the modules in order (1 to 11). Each lesson includes real commands and exercises.
- Practice with actual data files: CSVs, TSVs, JSON, or system logs.
- Build your own
.visidatarcincrementally as you complete each module.
Learning Path
| Module | Focus | Lessons |
|---|---|---|
| 1. Introduction | Fundamentals and mental model | 3 |
| 2. Loading Data | Open files, formats, and pipes | 3 |
| 3. Navigation | Moving, searching, and switching sheets | 3 |
| 4. Rows and Columns | Selection, sorting, column types | 3 |
| 5. Data Editing | Edit cells, rename columns, append rows | 2 |
| 6. Analysis and Grouping | Frequency tables, pivot, descriptive stats | 3 |
| 7. Visualization | In-terminal graphs and scatterplots | 2 |
| 8. Configuration | .visidatarc, themes, and key bindings | 3 |
| 9. Real-World Workflows | Sysadmin and data pipeline patterns | 3 |
| 10. Troubleshooting | Diagnosing issues and edge cases | 2 |
| 11. Cheatsheet | Fast operational reference | 3 |
Core Architecture
How VisiData Works
Sheet-Based Mental Model
warning
VisiData does not modify your source files unless you explicitly save with Ctrl+S. All transformations happen in memory.
Quick Start
first-visidata-session.sh
# 1) Install VisiData
pip install visidata # recommended
sudo apt install visidata # Debian/Ubuntu (may be older version)
# 2) Open a CSV file
vd data.csv
# 3) Navigate with arrow keys or hjkl
# 4) Open a frequency table on the current column
# Press: Shift+F
# 5) Quit the current sheet
# Press: q
# 6) Quit VisiData entirely
# Press: q (until all sheets closed)
# Or: gq (quit all at once)
note
The default VisiData help menu is Alt+H. Press Ctrl+H for the full man page inside VisiData, or z Ctrl+H for a sheet of all commands for the current sheet.
VisiData vs Alternatives
| Tool | Use Case | Key Advantage |
|---|---|---|
visidata | Interactive tabular data exploration | Multi-format, Python expressions, sheets |
csvkit | CSV transformation pipelines | CLI-composable, scriptable |
miller | Stream processing of structured data | Fast, AWK-like syntax |
pandas | Programmatic data analysis | Full Python ecosystem |
xsv | Fast CSV indexing and slicing | Blazing speed, Rust-based |
Prerequisites
- Linux shell basics (
ls,cat,pipe, redirection) - Familiarity with CSV or tabular data concepts
- Python 3.8+ (VisiData is a Python package)
Success Criteria
By the end of this track, you can:
- Open any supported data format and navigate it fluidly
- Select, filter, and sort rows using keyboard-driven workflows
- Create derived columns with Python expressions
- Build frequency tables and pivot tables without leaving the terminal
- Customize VisiData with a
.visidatarcthat matches your workflow - Replay and document data transformations via CommandLog
Next Step
Start with What is VisiData.