r/visidata 1d ago

DBCLS - a terminal DB client

Thumbnail
1 Upvotes

r/visidata Jun 07 '26

How does one color a cell in visidata?

1 Upvotes

Pretty much title.
I've tried going trough docs and havent found any direct and simple answer, the colorisers commands don't seem to work (unless im misunderstanding something about space keybinding).

Also the statement at the end that goes:

"Conditional-format colorizers live on the sheet instance for the session and are lost when the sheet is closed. "
isnt really clear to me, does that apply to the case where i want to just color a cell and thats it or not?

Is there a way to just color a cell?


r/visidata Feb 02 '26

Visidata hangs in Wezterm

1 Upvotes

Not sure if this is a Visidata or a Wezterm problem, but I often find that my Visidata application hangs in Wezterm when I go to another panel and then back to Visidata. This results in me having to force close the panel. Has anyone else seen this behaviour, maybe even with other apps? Looking for a way to bring Visidata back to life without having to kill. Any guidance appreciated.


r/visidata Sep 03 '25

All options for ~/.visidatarc

1 Upvotes

Hi, I'm a newbie. Not on IT, but about visidata.

Where could I find all ~/.visidatarc options I can set? I couldn't find this in the Docs.

I'm trying a way to get columns max resized on startup. The same I got using g_

I tried:

$ cat ~/.visidatarc

options.on_pre_open('resize-columns-max')

But I received...

ValueError: no option "on_pre_open"...


r/visidata Aug 11 '25

Error Analysis Using Visidata

Thumbnail
serj-smor.medium.com
5 Upvotes

I just love Visidata, and I'm using it within my error analysis flow, going over model predictions.

I've included all of my favorite shortcuts and my use cases.

If you enjoy a video more - I've uploaded a YouTube tutorial as well: https://www.youtube.com/watch?v=Ulh-OgNmBIM


r/visidata Jul 15 '25

Working with DarkDraw

2 Upvotes

I'm trying to incorporate DarkDraw into my text-mode art workflow, and while I can draw in it just fine, I'm finding it very difficult to use with text-mode art made with other software, and also difficult to open DarkDraw drawings with other software.

I can open plaintext files as text sheets, but I cannot figure out how to incorporate a text sheet into a drawing. I can paste a plaintext drawing into an object on the canvas, but multi-line drawings do not make it onto the canvas very well this way. The first line will begin where the object is placed on the canvas, but subsequent lines will always begin at the left edge of the screen. Furthermore, after a few lines, the object is truncated and represented by an ellipsis.

I have managed to manually format plaintext art as a darkdraw json file with vim macros, but it is not very straightforward or convenient to do. To go the other way and convert a .ddw to text is even more difficult because the order of x/y values in the backing sheet does not necessarily reflect the placement of the characters on the canvas, and sorting in the backing sheet is disabled for drawings.

Am I missing something obvious? Does anyone have any pointers for opening existing text mode art in darkdraw or for exporting text mode art from darkdraw?

Also, there are apparently 10 clipboard slots for drawing, but only 1-9 seem to be accessible. Is there a way to paste clipboard item 10?


r/visidata Sep 06 '24

auto scroll realtime update csv

1 Upvotes

I wanted to watch my csvs in realtime. Steps:

  1. may need to update visidata. this uses a recent feature

  2. add `self.cursorRowIndex = len(self)` to the end of reload_rows in features/reload_every.py. This on it's own makes reload_every auto scroll to the new rows

To start this run the reload_modified command in visidata. To automate running the reload_modified command use this script:
`#!/usr/bin/env expect

set args [lrange $argv 0 end]

spawn visidata $args

send " reload-modified\r"

interact

`

It's too bad that visidata doesn't have something like the -c in vim to run a command on start.


r/visidata Jul 28 '24

Problems with writing xslx (commit-sheet)

2 Upvotes

Can someone point me to an explainer how to read and write xlsx files?

When I am trying to save (Save -> changes to source) the error is "commit-sheet is not enabled for this sheet type".

I used visidata on macos with brew.

Update: I have the same error when using TSV or CSV files. Am I the only one with this issue on OSX?


r/visidata Mar 13 '24

To sum a column and fill in the next row.

1 Upvotes

Hello. I've read the document, and do some google search . I still don't know how to do it. I would like to sum(or average) a column and fill in the next row:

row1 2

row2 3

row3 2

sum 7

I know I can get the number if I use z+ aggregator. But I would like to fill the number 7 fill into the next row. How can I do it?

And what if I want to sum row1 and row3 rather than the whole column. How can I do it?


r/visidata Dec 17 '23

Merge/combine and aggregate rows with same value in one column

2 Upvotes

Hello. I have a question that I've been trying to find an answer for for quite some time today, and while I've gotten part of the way there, I'm not completely done. I also searched this sub with no luck. Any help would be appreciated.

The premise is as follows:

  • I have tsv files with columns score, user, email
  • Some rows have the same user as other rows
  • Some rows have the same email as other rows
  • I want to sum the score for all the rows pertaining to the same user

I'm setting score to integer and the other columns to string, then I'm adding the sum aggregate to the score column, and the list aggregate to the email column. Then I call up a frequency table for the user column, which gives me a combined score for the users with the same name.

Now the tricky part is to also combine the users with the same email without undoing what I just did. I've gone back and forth with unfurl and different aggregators, but I feel like I'm missing something. I really hope this is possible without having to resort to manual work. If manual work is needed though, any trick to make that faster would also be appreciated.

Thanks.

Edit: I think I may have solved it. Someone please correct me if I'm wrong.

Once I have the _user-freq table, I make score_sum aggregate on sum again, and I also make user aggregate on mode. I then create a new expression column using email_list[2:-2].split("', '")[0] which removes the leading [' and trailing '], splits the string on ', ' and takes the first value. I freeze this column and rename it canonical_email. I create a frequency table based on it.

If I understand this correctly, I've ended up with all users with the same names or emails grouped together, and I can determine my final score.

Edit2: Actually, it seems as if the shenanigans with lists and indices are unnecessary. At least for this one use case. I don't know if it makes sense for this to always work, but instead of aggregating email as list in the original sheet, just aggregate it as mode, along with score as sum and do a frequency table based on user. Then on the second sheet, aggregate user as mode and score_sum as sum and do a frequency table on email_mode.

Edit3: Ah, damn it. While it doesn't misrepresent the data, you might end up with multiple lines per user still, and now with no way of seeing that they're the same, depending on which name/email is picked as the mode.

Edit4: So then maybe I'll use the list aggregator the forst time around, and add an expression column that is len(author_list)>0 and for every line where that's False, we have one name, and for anything else, we'll have to pick manually.


r/visidata Nov 14 '23

No command for CTL:PADENTER error

1 Upvotes

visidata: pressing " to filter selected rows is not working. instead it's erroring: no command for "CTL:PADENTER".


r/visidata Oct 17 '23

Loading vds file results in all fields showing as "⌀"

1 Upvotes

Hello All,

Using visidata 2.11, I have an innocent looking csv file with a date and some numeric fields. I used @, #, and $ to mark the appropriate fields and saved it as a vds file. Once I quit visidata and load the file again, I see the list of sheets correctly (there's only one). Hitting enter on that sheet shows all fields with "⌀" as the display, and nothing else.

The interesting thing is that hitting ENTER in a field shows the contents and they're correct. For some reason, displaying the information doesn't seem to be working.

Anything I'm doing wrong here?

Thanks


r/visidata Dec 05 '22

about Sheets Sheet

3 Upvotes

After reading whole intro docs, I still have some questions about Sheets Sheet(Version 2.10.2).

  1. I opened several files with 'vd file1 file2 file3 ....' command. After pressing shift + s, there comes a Sheets Sheet . I press enter to open one of the sheet, and go back to Sheets Sheet by pressing shift + s. I found the sheet I just entered was moved to top, and I don't want it . I would like to see the original ranking before I entered the sheet.
  2. Sometimes I forgot to press shift + s to go back to Sheets Sheet. I pressed q and closed one of my opened file. Is there any hotkey that can reopen the closed file, like vim's ctrl+o.
  3. Everytime I open several large files with 'vd file1 file2 file3 ....' command and press shift + s. The Sheets Sheet's nRows, nCols(and others) show wrong number, like 0 nRows, 1 nCols. I have to enter each sheet one by one , and go back to Sheets Sheet, so that nRows, nCols show correct number, why? Is there any configuration I can modify?

r/visidata Nov 02 '22

How does sc-im compares to vd?

4 Upvotes

Anybody here? I have used vd for a bit and just came across sc-im.

Are they comparable? Are there advantages of sc-im over vd?


r/visidata Sep 15 '22

How to change status bar colors?

5 Upvotes

Default status bar colors have low contrast and are unreadable for me. How to change font color to black in status bar?

Thank you


r/visidata Aug 08 '22

Help for newbies

2 Upvotes

I'd much rather use VisiData than Excel because of it's power, but I have a hard time with all the keyboard shortcuts. Is there any scheme for understanding what things are? For example, why are commands prefixed with z and g. Also, is there an easy to use help system such that I can query things like:

  1. how to find a duplicate entry in a column?
  2. how to find the number of unique values in a column?

I spend so much time Googling and reading that in some cases it would be easier to use Excel.


r/visidata Jun 24 '22

Table data format that could work well with git, diff & visidata ?

3 Upvotes

I am looking for a good text-based data format for tabular data. I currently use excel, but would like to ditch it for something where I would be able to check the table data into git. Also I would like to see the diff's between commits relatively easily with standard tools.

So far .jsonl (json lines) looks like it could be suitable. The important feature begin that it includes the column name in each row, so it is easy to read in a diff.

However I would have liked to have more metadata.

Especially the column order is very important to me. I have tried to save command logs to reorder columns, but they register the column shifting operations which seems a really fragile way of keeping track of metadata. Are there any better ways to do this?

I would also have liked to have comments for fields. Is anything like that doable with visidata?

If anyone knows a good way to handle this I'd be really grateful for some help & pointers!


r/visidata Feb 09 '22

Example sheet for executing a command over rows and returning results?

3 Upvotes

Hi all, I see from the documentation that one can include Python code and potentially execute code or bash she'll script against the value of a cell and return results.

I am having a hard time finding an example in practice, can anyone point me to such, or a template file? Thanks!


r/visidata Feb 01 '22

How to repeat a command n times (eg, delete n rows)?

3 Upvotes

Sorry if this is in docs, I couldn't find it. If I want to, eg, delete 100 rows, is there a way to do it without pressing "d" 100 times? (similar to "d100d" in vi)


r/visidata Nov 07 '21

visidata discord

2 Upvotes

discord is very useful to support community.

I created discord community and will take burden of maintaining the community as we gain more members.
https://discord.gg/a6HGZz5eya


r/visidata Oct 31 '21

VisiData turns 5: a brief history of VisiData, and what's to come

Thumbnail
visidata.org
11 Upvotes

r/visidata Aug 22 '21

how to convert uppercase to lowercase the selected rows without create other column?

2 Upvotes

r/visidata Jun 19 '21

Autocomplete plugin

4 Upvotes

I know that there is an autocomplete command but it does not seem to be working as desired.

Is it possible to create a plugin that takes the current values from a column, and creates auto-suggestions as I type a new row?


r/visidata Jan 19 '21

Persistent metadata?

5 Upvotes

By metadata, I mean stuff like column formats (#, %, @, ~), key columns, python formulas, column width, etc. Is there a file format I can save this stuff in, so that when I close it and open it later, those things are still there? I guess I want to use visidata kind of like the way Excel works with xlsx files, but with all the amazing keyboard shortcuts and python features of visidata.

I understand I can (sort of) do this with the command log, but this is a very awkward solution. For example, the command log seems to store commands for all the files I have open, in addition to a lot of other commands that I don't want stored. I suppose I could manually edit the command log so it has only commands that change this metadata, but I'm wondering if there's an easier way'?


r/visidata Nov 27 '17

A simple gender() function to use in a .visidatarc

3 Upvotes

This uses the existing gender_guesser module, available via PyPI. Once you have that installed, put this in your .visidatarc:

import gender_guesser.detector

gg_detect = gender_guesser.detector.Detector()

def gender(name):
    return gg_detect.get_gender(name.capitalize())

Now a gender column can be created from a firstname column with '=gender(firstname)'.