1vd(1)                        Quick Reference Guide                       vd(1)
2

NAME

4     VisiData — a terminal utility for exploring and arranging tabular data
5

SYNOPSIS

7     vd [options] [input ...]
8     vd [options] --play cmdlog [-w waitsecs] [--batch] [-o output]
9        [field=value ...]
10

DESCRIPTION

12     VisiData is a multipurpose tool built on the vdtui platform that can be
13     used to explore, clean, edit, and restructure data. Rows can be selected,
14     filtered, and grouped; columns can be rearranged, transformed, and
15     derived via regex or Python expressions; and workflows can be saved, doc‐
16     umented, and replayed.
17
18   REPLAY MODE
19     -p, --play=cmdlog       replay a saved cmdlog within the interface
20     -w, --replay-wait=seconds
21                             wait seconds between commands
22     -b, --batch             replay in batch mode (with no interface)
23     -o, --output=file       save final visible sheet to file as .tsv
24     --replay-movement       toggle --play to move cursor cell-by-cell
25     field=value             replace "{field}" in cmdlog contents with value
26
27   Commands During Replay
28        ^U                   pause/resume replay
29        Tab                  execute next row in replaying sheet
30        ^K                   cancel current replay
31
32   GLOBAL COMMANDS
33     In most cases, commands that affect selected rows will affect all rows if
34     no rows are selected.
35
36   Keystrokes for the Cautious
37      ^H              view this man page
38     z^H              view sheet of commands and keybindings
39      ^Q              abort program immediately
40      ^C              cancel user input or abort all async threads on current
41                      sheet
42      q               quit current sheet
43     gq               quit all sheets (clean exit)
44
45   Cursor Movement
46     Arrow PgUp Home  move as expected
47      h   j   k   l   move left/down/up/right
48     gh  gj  gk  gl   move all the way to the left/bottom/top/right of sheet
49          G  gg       move all the way to the bottom/top of sheet
50     ^B  ^F           scroll one page back/forward
51
52     ^^ (Ctrl-^)      jump to previous sheet (swaps with current sheet)
53
54      /   ? regex     search for regex forward/backward in current column
55     g/  g? regex     search for regex forward/backward over all visible
56                      columns
57     z/  z? expr      search by Python expr forward/backward in current column
58                      (with column names as variables)
59      n   N           move to next/previous match from last search
60
61      <   >           move up/down to next value in current column
62     z<  z>           move up/down to next null in current column
63      {   }           move up/down to next selected row
64
65      c regex         move to next column with name matching regex
66      r regex         move to next row with key matching regex
67     zc  zr number    move to column/row number (0-based)
68
69      H   J   K   L   slide current row/column left/down/up/right
70     gH  gJ  gK  gL   slide current row/column all the way to the left/bot‐
71                      tom/top/right of sheet
72
73     zh  zj  zk  zl   scroll one left/down/up/right
74
75   Column Manipulation
76      _ (underscore)  adjust width of current column
77     g_               adjust width of all visible columns
78     z_ number        adjust width of current column to number
79
80      - (hyphen)      hide current column
81     z-               reduce width of current column by half
82     gv               unhide all columns
83
84     ! z!             toggle/unset current column as a key column
85     ~  #  %  $  @  z#
86                      set type of current column to str/int/float/cur‐
87                      rency/date/len
88       ^              edit name of current column
89      g^              set names of all unnamed visible columns to contents of
90                      selected rows (or current row)
91      z^              set name of current column to combined contents of cur‐
92                      rent cell in selected rows (or current row)
93     gz^              set name of all visible columns to combined contents of
94                      current column for selected rows (or current row)
95
96       = expr         create new column from Python expr, with column names as
97                      variables
98      g= expr         set current column for selected rows to result of Python
99                      expr
100     gz= expr         set current column for selected rows to the items in
101                      result of Python sequence expr
102      z= expr         evaluate Python expression on current row and show
103                      result on status line
104      ' (tick)        add a frozen copy of current column with all cells eval‐
105                      uated
106     g'               open a frozen copy of current sheet with all visible
107                      columns evaluated
108     z'  gz'          reset cache for current/all visible column(s)
109
110      : regex         add new columns from regex split; number of columns
111                      determined by example row at cursor
112      ; regex         add new columns from capture groups of regex (also
113                      requires example row)
114     z; expr          add new column from bash expr, with $columnNames as
115                      variables
116      * regex/subst   add column derived from current column, replacing regex
117                      with subst (may include \1 backrefs)
118     g*  gz* regex/subst
119                      modify selected rows in current/all visible column(s),
120                      replacing regex with subst (may include \1 backrefs)
121
122      (   g(          expand current/all visible column(s) of lists (e.g. [3])
123                      or dicts (e.g. {3}) fully
124     z(  gz( depth    expand current/all visible column(s) of lists (e.g. [3])
125                      or dicts (e.g. {3}) to given depth (0= fully)
126      )               unexpand current column; restore original column and
127                      remove other columns at this level
128
129   Row Selection
130       s   t   u      select/toggle/unselect current row
131      gs  gt  gu      select/toggle/unselect all rows
132      zs  zt  zu      select/toggle/unselect rows from top to cursor
133     gzs gzt gzu      select/toggle/unselect rows from cursor to bottom
134      |   \ regex     select/unselect rows matching regex in current column
135     g|  g\ regex     select/unselect rows matching regex in any visible
136                      column
137     z|  z\ expr      select/unselect rows matching Python expr in any visible
138                      column
139      , (comma)       select rows matching current cell in current column
140     g,               select rows matching current row in all visible columns
141
142   Row Sorting/Filtering
143      [   ]           sort ascending/descending by current column
144     g[  g]           sort ascending/descending by all key columns
145      "               open duplicate sheet with only selected rows
146     g"               open duplicate sheet with all rows
147     gz"              open duplicate sheet with deepcopy of selected rows
148
149   Editing Rows and Cells
150       a   za         append a blank row/column
151      ga  gza number  append number blank rows/columns
152       d   gd         delete (cut) current/selected row(s) and move to clip‐
153                      board
154       y   gy         yank (copy) current/all selected row(s) to clipboard
155      zy  gzy         yank (copy) contents of current column for cur‐
156                      rent/selected row(s) to clipboard
157      zd  gzd         delete (cut) contents of current column for cur‐
158                      rent/selected row(s) and move to clipboard
159       p    P         paste clipboard rows after/before current row
160      zp  gzp         set contents of current column for current/selected
161                      row(s) to last clipboard value
162       Y   gY         yank (copy) current/all selected row(s) to system
163                      clipboard (using options.clipboard_copy_cmd)
164      zY  gzY         yank (copy) contents of current column for
165                      current/selected row(s) to system clipboard (using
166                      options.clipboard_copy_cmd)
167       f              fill null cells in current column with contents of non-
168                      null cells up the current column
169       e text         edit contents of current cell
170      ge text         set contents of current column for selected rows to text
171
172     Commands While Editing Input
173        Enter  ^C        accept/abort input
174        ^O               open external $EDITOR to edit contents
175        ^R               reload initial value
176        ^A  ^E           move to beginning/end of line
177        ^B  ^F           move back/forward one character
178        ^H  ^D           delete previous/current character
179        ^T               transpose previous and current characters
180        ^U  ^K           clear from cursor to beginning/end of line
181        Backspace  Del   delete previous/current character
182        Insert           toggle insert mode
183        Up  Down         set contents to previous/next in history
184        Tab  Shift+Tab   autocomplete input (when available)
185
186   Data Toolkit
187      o input         open input in VisiData
188     ^S g^S filename  save current/all sheet(s) to filename in format
189                      determined by extension (default .tsv)
190                      Note: if the format does not support multisave, or the
191                      filename ends in a /, a directory will be created.
192     z^S filename     save key columns and current column only to filename in
193                      format determined by extension (default .tsv)
194     ^D filename.vd   save CommandLog to filename.vd file
195     A number         open new blank sheet with number columns
196     R number         pushes sheet with random population subset of number
197                      rows
198     T                open new sheet with rows and columns transposed
199
200      + aggregator    add aggregator to current column (see Frequency Table)
201     z+ aggregator    display result of aggregator over values in selected
202                      rows for current column
203
204   Data Visualization
205      . (dot)       plot current numeric column vs key columns. The numeric
206                    key column is used for the x-axis; categorical key column
207                    values determine color.
208     g.             plot a graph of all visible numeric columns vs key
209                    columns.
210
211     If rows on the current sheet represent plottable coordinates (as in .shp
212     or vector .mbtiles sources),  . plots the current row, and g. plots all
213     selected rows (or all rows if none selected).
214
215     Canvas-specific Commands
216         +   -              increase/decrease zoom level, centered on cursor
217         _ (underscore)     zoom to fit full extent
218         s   t   u          select/toggle/unselect rows on source sheet con‐
219                            tained within canvas cursor
220        gs  gt  gu          select/toggle/unselect rows on source sheet visi‐
221                            ble on screen
222         d                  delete rows on source sheet contained within can‐
223                            vas cursor
224        gd                  delete rows on source sheet visible on screen
225         Enter              open sheet of source rows contained within canvas
226                            cursor
227        gEnter              open sheet of source rows visible on screen
228         1 - 9              toggle display of layers
229        ^L                  redraw all pixels on canvas
230         v                  toggle show_graph_labels option
231        mouse scrollwheel   zoom in/out of canvas
232        left click-drag     set canvas cursor
233        right click-drag    scroll canvas
234
235   Other Commands
236     Q                quit current sheet and remove it from the CommandLog
237     V                view contents of current cell in a new TextSheet
238       v              toggle sheet-specific visibility (text wrap on
239                      TextSheet, legends/axes on Graph)
240
241     Space longname   execute command by its longname
242
243      ^E              view traceback for most recent error
244     g^E              view traceback for most recent errors
245     z^E              view traceback for error in current cell
246
247      ^L              refresh screen
248      ^R              reload current sheet
249     z^R              clear cache for current column
250      ^Z              suspend VisiData process
251      ^G              show cursor position and bounds of current sheet on sta‐
252                      tus line
253      ^V              show version and copyright information on status line
254      ^P              open Status History
255
256      ^Y  z^Y  g^Y    open current row/cell/sheet as Python object
257      ^X expr         evaluate Python expr and opens result as Python object
258     z^X expr         evaluate Python expr on current row and shows result on
259                      status line
260     g^X stmt         execute Python stmt in the global scope
261
262   Internal Sheets List
263      .  Directory Sheet             browse and modify properties of files in
264         a directory
265
266     Metasheets
267      .  Columns Sheet (Shift+C)     edit column properties
268      .  Sheets Sheet (Shift+S)      jump between sheets or join them together
269      .  Options Sheet (Shift+O)     edit configuration options
270      .  Commandlog (Shift+D)        modify and save commands for replay
271      .  Error Sheet (^E)            view last error
272      .  Status History (^P)         view history of status messages
273      .  Threads Sheet (^T)          view, cancel, and profile asynchronous
274         threads
275
276     Derived Sheets
277      .  Frequency Table (Shift+F)   group rows by column value, with
278         aggregations of other columns
279      .  Describe Sheet (Shift+I)    view summary statistics for each column
280      .  Pivot Table (Shift+W)       group rows by key and summarize current
281         column
282      .  Melted Sheet (Shift+M)      unpivot non-key columns into
283         variable/value columns
284
285   INTERNAL SHEETS
286   Directory Sheet
287     (sheet-specific commands)
288     Modifying any cell changes the in-memory value. Changes are only applied
289     to the filesystem with ^S
290        Enter  gEnter    open current/selected file(s) as new sheet(s)
291         ^O  g^O         open current/selected file(s) in external $EDITOR
292         d   gd          schedule current/selected file(s) for deletion
293         ^R  z^R  gz^R   reload information for all/current/selected file(s),
294                         undoing any pending changes
295        z^S   ^S         apply all deferred changes to current/all file(s)
296
297   METASHEETS
298   Columns Sheet (Shift+C)
299     Properties of columns on the source sheet can be changed with standard
300     editing commands (e ge g= Del) on the Columns Sheet. Multiple aggregators
301     can be set by listing them (separated by spaces) in the aggregators
302     column. The 'g' commands affect the selected rows, which are the literal
303     columns on the source sheet.
304     (global commands)
305        gC               open Columns Sheet for all visible columns on all
306                         sheets
307     (sheet-specific commands)
308         &               add column from concatenating selected source columns
309        g! gz!           toggle/unset selected columns as key columns on
310                         source sheet
311        g+ aggregator    add Ar aggregator No to selected source columns
312        g- (hyphen)      hide selected columns on source sheet
313        g~ g# g% g$ g@  gz#
314                         set type of selected columns on source sheet to
315                         str/int/float/currency/date/len
316         Enter           open a Frequency Table sheet grouped by column
317                         referenced in current row
318
319   Sheets Sheet (Shift+S)
320     (global commands)
321        gS               open Sheets Graveyard which includes references to
322                         closed sheets
323     (sheet-specific commands)
324         Enter           jump to sheet referenced in current row
325         a               add row to reference a new blank sheet
326        gC               open Columns Sheet with all columns from selected
327                         sheets
328        gI               open Describe Sheet with all columns from selected
329                         sheets
330        g^R              reload all selected sheets
331        z^C  gz^C        abort async threads for current/selected sheets(s)
332         & jointype      merge selected sheets with visible columns from all,
333                         keeping rows according to jointype:
334                         .  inner  keep only rows which match keys on all
335                            sheets
336                         .  outer   keep all rows from first selected sheet
337                         .  full   keep all rows from all sheets (union)
338                         .  diff   keep only rows NOT in all sheets
339                         .  append keep all rows from all sheets
340                            (concatenation)
341                         .  extend copy first selected sheet, keeping all rows
342                            and sheet type, and extend with columns from other
343                            sheets
344
345   Options Sheet (Shift+O)
346     (global commands)
347        Shift+O          edit global options (apply to all sheets)
348        zO               edit sheet options (apply to this sheet only)
349        gO               open ~/.visidatarc
350     (sheet-specific commands)
351        Enter  e         edit option at current row
352
353   CommandLog (Shift+D)
354     (global commands)
355        gD               open Directory Sheet for options.visidata_dir
356                         (default: ~/.visidata/), which contains saved
357                         commandlogs and macros
358     (sheet-specific commands)
359          x              replay command in current row
360         gx              replay contents of entire CommandLog
361         ^C              abort replay
362        z^S keystroke    save selected rows to macro mapped to keystroke
363                         Macros are saved to
364                         .visidata/macro/command-longname.vd. The list of
365                         macros is saved at .visidata/macros.vd (keystroke,
366                         filename).
367
368   DERIVED SHEETS
369   Frequency Table (Shift+F)
370     A Frequency Table groups rows by one or more columns, and includes
371     summary columns for those with aggregators.
372     (global commands)
373        gF               open Frequency Table, grouped by all key columns on
374                         source sheet
375        zF               open one-line summary for selected rows
376     (sheet-specific commands)
377         s   t   u       select/toggle/unselect these entries in source sheet
378         Enter           open sheet of source rows that are grouped in current
379                         cell
380
381   Describe Sheet (Shift+I)
382     (global commands)
383        gI               open Describe Sheet for all visible columns on all
384                         sheets
385     (sheet-specific commands)
386        zs  zu           select/unselect rows on source sheet that are being
387                         described in current cell
388         !               toggle/unset current column as a key column on source
389                         sheet
390         Enter           open a Frequency Table sheet grouped on column
391                         referenced in current row
392        zEnter           open copy of source sheet with rows described in cur‐
393                         rent cell
394
395   Pivot Table (Shift+W)
396     Set key column(s) and aggregators on column(s) before pressing Shift+W on
397     the column to pivot.
398     (sheet-specific commands)
399         Enter           open sheet of source rows aggregated in current pivot
400                         row
401        zEnter           open sheet of source rows aggregated in current pivot
402                         cell
403
404   Melted Sheet (Shift+M)
405     Open melted sheet (unpivot), with key columns retained and all non-key
406     columns reduced to Variable-Value rows.
407     (global commands)
408        gM regex         open melted sheet (unpivot), with key columns
409                         retained and regex capture groups determining how the
410                         non-key columns will be reduced to Variable-Value
411                         rows.
412
413   Python Object Sheet (^X ^Y g^Y z^Y)
414     (sheet-specific commands)
415         Enter           dive further into Python object
416         e               edit contents of current cell
417         v               toggle show/hide for methods and hidden properties
418        gv  zv           show/hide methods and hidden properties
419

COMMANDLINE OPTIONS

421     -f, --filetype=filetype      tsv                set loader to use for
422                                  filetype instead of file extension
423     -y, --confirm-overwrite=F    True               overwrite existing files
424                                  without confirmation
425     --diff=base                  None               add colorizer for all
426                                  sheets against base
427     --encoding=str               utf-8              encoding passed to
428                                                     codecs.open
429     --encoding-errors=str        surrogateescape    encoding_errors passed to
430                                                     codecs.open
431     --regex-flags=str            I                  flags to pass to re.com‐
432                                                     pile() [AILMSUX]
433     --default-width=int          20                 default column width
434     --wrap                       False              wrap text to fit window
435                                                     width on TextSheet
436     --bulk-select-clear          False              clear selected rows
437                                                     before new bulk selec‐
438                                                     tions
439     --cmd-after-edit=str         go-down            command longname to exe‐
440                                                     cute after successful
441                                                     edit
442     --col-cache-size=int         0                  max number of cache
443                                                     entries in each cached
444                                                     column
445     --quitguard                  False              confirm before quitting
446                                                     last sheet
447     --null-value=NoneType        None               a value to be counted as
448                                                     null
449     --force-valid-colnames       False              clean column names to be
450                                                     valid Python identifiers
451     --debug                      False              exit on error and display
452                                                     stacktrace
453     --curses-timeout=int         100                curses timeout in ms
454     --force-256-colors           False              use 256 colors even if
455                                                     curses reports fewer
456     --use-default-colors         False              curses use default termi‐
457                                                     nal colors
458     --note-pending=str           ⌛                  note to display for pend‐
459                                                     ing cells
460     --note-format-exc=str        ?                  cell note for an excep‐
461                                                     tion during formatting
462     --note-getter-exc=str        !                  cell note for an excep‐
463                                                     tion during computation
464     --note-type-exc=str          !                  cell note for an excep‐
465                                                     tion during type conver‐
466                                                     sion
467     --note-unknown-type=str                         cell note for unknown
468                                                     types in anytype column
469     --scroll-incr=int            3                  amount to scroll with
470                                                     scrollwheel
471     --skip=int                   0                  skip first N lines of
472                                                     text input
473     --confirm-overwrite=bool     True               whether to prompt for
474                                                     overwrite confirmation on
475                                                     save
476     --safe-error=str             #ERR               error string to use while
477                                                     saving
478     --header=int                 1                  parse first N rows of
479                                                     certain formats as column
480                                                     names
481     --delimiter=str                                 delimiter to use for tsv
482                                                     filetype
483     --filetype=str                                  specify file type
484     --save-filetype=str          tsv                specify default file type
485                                                     to save as
486     --tsv-safe-newline=str                          replacement for tab char‐
487                                                     acter when saving to tsv
488     --tsv-safe-tab=str                              replacement for newline
489                                                     character when saving to
490                                                     tsv
491     --clipboard-copy-cmd=str                        command to copy stdin to
492                                                     system clipboard
493     --visibility=int             0                  visibility level (0=low,
494                                                     1=high)
495     --min-memory-mb=int          0                  minimum memory to con‐
496                                                     tinue loading and async
497                                                     processing
498     --replay-wait=float          0.0                time to wait between
499                                                     replayed commands, in
500                                                     seconds
501     --replay-movement            False              insert movements during
502                                                     replay
503     --visidata-dir=str           ~/.visidata/       directory to load and
504                                                     store macros
505     --rowkey-prefix=str          キ                 string prefix for rowkey
506                                                     in the cmdlog
507     --cmdlog-histfile=str                           file to autorecord each
508                                                     cmdlog action to
509     --regex-maxsplit=int         0                  maxsplit to pass to
510                                                     regex.split
511     --show-graph-labels=bool     True               show axes and legend on
512                                                     graph
513     --plot-colors=str                               list of distinct colors
514                                                     to use for plotting dis‐
515                                                     tinct objects
516     --zoom-incr=float            2.0                amount to multiply cur‐
517                                                     rent zoomlevel when zoom‐
518                                                     ing
519     --motd-url=str                                  source of randomized
520                                                     startup messages
521     --profile=str                                   filename to save binary
522                                                     profiling data
523     --csv-dialect=str            excel              dialect passed to
524                                                     csv.reader
525     --csv-delimiter=str          ,                  delimiter passed to
526                                                     csv.reader
527     --csv-quotechar=str          "                  quotechar passed to
528                                                     csv.reader
529     --csv-skipinitialspace=bool  True               skipinitialspace passed
530                                                     to csv.reader
531     --csv-escapechar=NoneType    None               escapechar passed to
532                                                     csv.reader
533     --safety-first               False              sanitize input/output to
534                                                     handle edge cases, with a
535                                                     performance cost
536     --json-indent=NoneType       None               indent to use when saving
537                                                     json
538     --fixed-rows=int             1000               number of rows to check
539                                                     for fixed width columns
540     --pcap-internet=str          n                  (y/s/n) if save_dot
541                                                     includes all internet
542                                                     hosts separately (y),
543                                                     combined (s), or does not
544                                                     include the internet (n)
545     --graphviz-edge-labels=bool  True               whether to include edge
546                                                     labels on graphviz dia‐
547                                                     grams
548
549   DISPLAY OPTIONS
550     Display options can only be set via the Options Sheet or a .visidatarc
551     (see FILES).
552
553     disp_note_none      ⌀                   visible contents of a cell whose
554                                             value is None
555     disp_truncator      …                   indicator that the contents are
556                                             only partially visible
557     disp_oddspace       ·                   displayable character for odd
558                                             whitespace
559     disp_unprintable    .                   substitute character for unprint‐
560                                             ables
561     disp_column_sep     |                   separator between columns
562     disp_keycol_sep     ‖                   separator between key columns and
563                                             rest of columns
564     disp_status_fmt     {sheet.name}|       status line prefix
565     disp_lstatus_max    0                   maximum length of left status
566                                             line
567     disp_status_sep      |                  separator between statuses
568     disp_edit_fill      _                   edit field fill character
569     disp_more_left      <                   header note indicating more col‐
570                                             umns to the left
571     disp_more_right     >                   header note indicating more col‐
572                                             umns to the right
573     disp_error_val                          displayed contents for computa‐
574                                             tion exception
575     disp_ambig_width    1                   width to use for unicode chars
576                                             marked ambiguous
577     color_default       normal              the default color
578     color_default_hdr   bold underline      color of the column headers
579     color_current_row   reverse             color of the cursor row
580     color_current_col   bold                color of the cursor column
581     color_current_hdr   bold reverse underline
582                                             color of the header for the cur‐
583                                             sor column
584     color_column_sep    246 blue            color of column separators
585     color_key_col       81 cyan             color of key columns
586     color_hidden_col    8                   color of hidden columns on
587                                             metasheets
588     color_selected_row  215 yellow          color of selected rows
589     color_keystrokes    white               color of input keystrokes on sta‐
590                                             tus line
591     color_status        bold                status line color
592     color_error         red                 error message color
593     color_warning       yellow              warning message color
594     color_edit_cell     normal              cell color to use when editing
595                                             cell
596     disp_pending                            string to display in pending
597                                             cells
598     color_note_pending  bold magenta        color of note in pending cells
599     color_note_type     226 yellow          cell note for numeric types in
600                                             anytype columns
601     disp_date_fmt       %Y-%m-%d            default fmtstr to strftime for
602                                             date values
603     color_change_pending reverse yellow     color for file attributes pending
604                                             modification
605     color_delete_pending red                color for files pending delete
606     disp_histogram      *                   histogram element character
607     disp_histolen       50                  width of histogram column
608     color_working       green               color of system running smoothly
609     disp_replay_play    ▶                   status indicator for active
610                                             replay
611     disp_replay_pause   ‖                   status indicator for paused
612                                             replay
613     color_status_replay green               color of replay status indicator
614     disp_pixel_random   False               randomly choose attr from set of
615                                             pixels instead of most common
616     color_graph_hidden  238 blue            color of legend for hidden
617                                             attribute
618     color_graph_selected bold               color of selected graph points
619     color_graph_axis    bold                color for graph axis labels
620     color_diff          red                 color of values different from
621                                             --diff source
622     color_diff_add      yellow              color of rows/columns added to
623                                             --diff source
624

EXAMPLES

626           vd foo.tsv
627     open the file foo.tsv in the current directory
628
629           vd -f sqlite bar.db
630     open the file bar.db as a sqlite database
631
632           vd -b countries.fixed -o countries.tsv
633     convert countries.fixed (in fixed width format) to countries.tsv (in tsv
634     format)
635
636           vd postgres://username:password@hostname:port/database
637     open a connection to the given postgres database
638
639           vd --play tests/pivot.vd --replay-wait 1 --output tests/pivot.tsv
640     replay tests/pivot.vd, waiting 1 second between commands, and output the
641     final sheet to test/pivot.tsv
642
643           ls -l | vd -f fixed --skip 1 --header 0
644     parse the output of ls -l into usable data
645

FILES

647     At the start of every session, VisiData looks for $HOME/.visidatarc, and
648     calls Python exec() on its contents if it exists. For example:
649
650        options.min_memory_mb=100  # stop processing without 100MB free
651
652        bindkey('0', 'go-leftmost')   # alias '0' to move to first column, like vim
653
654        def median(values):
655            L = sorted(values)
656            return L[len(L)//2]
657
658        aggregator('median', median)
659
660     Functions defined in .visidatarc are available in python expressions
661     (e.g. in derived columns).
662

SUPPORTED SOURCES

664     These are the supported sources:
665
666        tsv (tab-separated value)
667           Plain and simple. VisiData writes tsv format by default. See the
668           --delimiter option.
669
670        csv (comma-separated value)
671           .csv files are a scourge upon the earth, and still regrettably
672           common.
673           See the --csv-dialect, --csv-delimiter, --csv-quotechar, and
674           --csv-skipinitialspace options.
675           Accepted dialects are excel-tab, unix, and excel.
676
677        fixed (fixed width text)
678           Columns are autodetected from the first 1000 rows (adjustable with
679           --fixed-rows).
680
681        json (single object) and jsonl (one object per line).
682           Cells containing lists (e.g. [3]) or dicts ({3}) can be expanded
683           into new columns with ( and unexpanded with ).
684
685        yaml/yml (requires PyYAML)
686
687        pcap (requires xpkt, dnslib)
688           View and investigate captured network traffic in a tabular format.
689
690        png (requires pypng)
691           Pixels can be edited and saved in data form. Images can be plotted
692           with . (dot).
693
694     The following URL schemes are supported:
695        http (requires requests); can be used as transport for with another
696        filetype
697        postgres (requires psycopg2)
698
699     The following sources may include multiple tables. The initial sheet is
700     the table directory; Enter loads the entire table into memory.
701
702        sqlite
703        xlsx (requires openpyxl)
704        xls (requires xlrd)
705        hdf5 (requires h5py)
706        ttf/otf (requires fonttools)
707        mbtiles (requires mapbox-vector-tile)
708        htm/html (requires lxml)
709        xml (requires lxml)
710            v    show only columns in current row attributes
711           za    add column for xml attributes
712        xpt (SAS; requires xport)
713        sas7bdat (SAS; requires sas7bdat)
714        sav (SPSS; requires savReaderWriter)
715        dta (Stata; requires pandas)
716        shp (requires pyshp)
717
718     In addition, .zip, .gz, .bz2, and .xz files are decompressed on the fly.
719
720     VisiData has an adapter for pandas. To load a file format which is
721     supported by pandas, pass -f pandas data.foo. This will call
722     pandas.read_foo().
723
724     For example, vd -f pandas data.parquet loads a parquet file. Note that
725     when using the pandas loader, the .fileformat file extension is mandatory
726

SUPPORTED OUTPUT FORMATS

728     These are the supported savers:
729
730        tsv (tab-separated value)
731        csv (comma-separated value)
732        json (one object with all rows)
733           All expanded subcolumns must be closed (with )) to retain the same
734           structure.
735           .shp files can be saved as geoJSON.
736        md (org-mode compatible markdown table)
737        htm/html (requires lxml)
738        png (requires pypng)
739
740     Multisave is supported by html, md, and txt; g^S will save all sheets
741     into a single output file.
742

AUTHOR

744     VisiData was made by Saul Pwanson <vd@saul.pw>.
745
746Linux/MacOS                    January 12, 2019                    Linux/MacOS
Impressum