Opening Files¶
The first skill we’ll learn is the most basic: How to open (and close) a dataset in VisiData.
How to open a file¶
The easiest way to open a dataset in VisiData is to specify it directly when invoking vd
, like so:
vd faa-wildlife-strikes.csv
If you’ve downloaded the faa-wildlife-strikes.csv
file, and you run the command above, you should see this:
File Edit View Column Row Data Plot System Help | VisiData 3.0.2 | Alt+H for help men OPERATOR │ ATYPE │ INCIDENT_DATE │ STATE │ AIRPORT │ PHASE_OF_FLT> BUSINESS │ PA-28 │ 05/22/15 00:00:00 │ FL │ VERO BEACH MUNICIP…│ APPROACH │ BUSINESS │ BE-1900 │ 06/18/15 00:00:00 │ AK │ KENAI MUNICIPAL AR…│ APPROACH │ BUSINESS │ PA-46 MALIBU │ 09/20/15 00:00:00 │ TX │ DAVID WAYNE HOOKS …│ │ DELTA AIR LINES │ B-717-200 │ 11/07/15 00:00:00 │ MO │ LAMBERT-ST LOUIS I…│ APPROACH │ BUSINESS │ BE-90 KING │ 12/17/15 00:00:00 │ FL │ POMPANO BEACH AIRP…│ LANDING ROLL │ DELTA AIR LINES │ B-757 │ 07/17/15 00:00:00 │ VI │ HENRY E ROHLSEN AR…│ │ DELTA AIR LINES │ B-717-200 │ 08/02/15 00:00:00 │ TX │ SAN ANTONIO INTL │ APPROACH │ BUSINESS │ C-414 │ 08/03/15 00:00:00 │ TX │ LONE STAR EXECUTIV…│ DEPARTURE │ ALLEGIANT AIR │ MD-80 │ 09/02/15 00:00:00 │ FL │ TAMPA INTL │ APPROACH │ TRANS STATES AIRLI…│ EMB-145 │ 09/07/15 00:00:00 │ MO │ LAMBERT-ST LOUIS I…│ APPROACH │ BUSINESS │ C-172 │ 11/28/15 00:00:00 │ FL │ OPA-LOCKA EXECUTIV…│ APPROACH │ GOVERNMENT │ EC120 │ 12/08/15 00:00:00 │ CA │ NORMAN Y. MINETA S…│ │ AMERICAN AIRLINES │ A-321 │ 05/06/15 00:00:00 │ FL │ FORT LAUDERDALE/HO…│ APPROACH │ EXPRESSJET AIRLINES│ CRJ100/200 │ 05/06/15 00:00:00 │ AR │ FORT SMITH REGIONA…│ CLIMB │ MESA AIRLINES │ CRJ900 │ 05/08/15 00:00:00 │ AR │ BILL AND HILLARY …│ LANDING ROLL │ BUSINESS │ HELICOPTER │ 05/06/15 00:0┌──────────────────────────────────| statuses |─┐│ DELTA AIR LINES │ A-320 │ 05/07/15 00:0│ saul.pw/VisiData v3.0.2 ││ DELTA AIR LINES │ A-320 │ 05/08/15 00:0│ opening datasets/faa-wildlife-strikes.csv as ││ LUFTHANSA │ A-380 │ 05/10/15 00:0│ csv ││ BUSINESS │ C-172 │ 05/08/15 00:0│ As if I would talk on such a subject! ││ SPIRIT AIRLINES │ A-319 │ 05/10/15 00:0└───────────────────────────────────────────────┘│ 1› faa-wildlife-strikes| 73448 rows
Let’s break it down:
- Top row (directly below the menu): This displays your dataset’s columns — at least as many as can fit on your screen.
- Sidebar (the green box): This contains status messages based on what you have just done or usage guidance for multi-step commands.
- Bottom row: This tells you what dataset you’re viewing (
faa-wildlife-strikes
on the far left), often some status information, the number of rows loaded (73,448). - Highlighted column and row: These indicate your current position in the dataset.
Note
Depending on the width and height of your terminal, you’ll see more/fewer columns and rows.
How to close a file¶
If you’ve just opened a single file, you can close it by typing q.
If you’ve opened a collection of files — more on that later — you can close them all at once by typing gq.
How to specify the file’s format¶
VisiData guesses which kind of file you’re trying to open based on the file’s extension. For instance, it will try to open my-csv-data.xlsx
as an Excel file. To override that default, specify the filetype with the --filetype
flag. For instance:
vd my-csv-data.xlsx --filetype csv
You can also use the shorter -f
flag:
vd my-csv-data.xlsx -f csv
Compatible filetypes¶
VisiData can open a range of filetypes, including:
Tabular data¶
- CSV files, and any other delimiter-separated formats
- Excel spreadsheets (requires
pip3 install xlrd openpyxl
) - Fixed-width files
- SQLite databases
- Postgres databases (requires
pip3 install psycopg2
) - MySQL databases (requires
pip3 install mysqlclient
) - HDF5 files (requires
pip3 install h5py
) - .sas7bdat files (requires
pip3 install sas7bdat
) - .xpt files (requires
pip3 install xport
) - .sav files (requires
pip3 install savReaderWriter
) - .dta files (requires
pip3 install pandas
)
Nested Data¶
- JSON / JSONL
- XML (requires
pip3 install lxml
) - YAML (requires
pip3 install PyYAML
)
Geospatial data¶
- Shapefiles (requires
pip3 install pyshp
) - MBTiles (requires
pip3 install mapbox-vector-tile
)
Directories¶
- Standard Unix directories
- ZIP files
- Frictionless Data Packages (requires
pip3 install datapackage
)
Misc.¶
- HTML (looks for
<table>
tags; requirespip3 install lxml
) - Website URLs (downloads the HTML, and then looks for
<table>
tags; requirespip3 install lxml
) - .rec files
- .pcap files (requires
pip3 install dpkt dnslib
) - … and more