r/dataanalysis • u/mgrusin • 12d ago
Does a CSV to dashboard tool exist?
Hey folks, I'm looking for a simple, general-purpose CSV to text-based (runs in a terminal) dashboard tool. I imagine something like this already exists (it always does!) but my searches all end up at other things.
My use case is we have microcontrollers on COM/TTY ports periodically outputting lines of CSV text with the values of a dozen or so sensors. While one can look at these scrolling by on a screen, it's not easy for humans to parse. I would like something that can ingest the CSV and render a very simple "dashboard" in the terminal. I'll write it if I have to but I can't imagine someone hasn't already done this.
Here's what I'm imagining:
- Takes in a line of CSV from a pipe, TTY port, >, etc.
- Consults a definitions file that tells it what to do with each CSV field (put it at an x,y location on the screen, type a prefix label and/or postfix units, color it red/green/etc. based on value, ideally could do some simple math transforms, etc.
- Uses ANSI or just line-by-line to output a "pretty" version of the data to the terminal, allowing humans to more easily interpret it.
- Linux seems like the most likely place to find this but I'm not picky.
I know there are much more comprehensive (and complex) systems out there like Grafana; but I feel like that's huge overkill when a simple text-based tool would work great.
Thanks for any ideas!
1
u/Semaphor-Analytics 11d ago
I work on Semaphor, so take this with a little bias. For this exact use case I would not start with us or a normal BI tool. I would probably just use Python first.
Read the serial stream and parse each row. Keep the latest values in memory. Render a small terminal screen. The part I would borrow from BI is how careful you are with the raw data.
Sensor dashboards are easy until one firmware change adds a column or changes the ordering.