# Dataframe viewer needed

**URL:** https://discourse.julialang.org/t/dataframe-viewer-needed/9239
**Category:** Data
**Tags:** visualization, dataframes
**Created:** [February 21, 2018, 9:24pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239 "2018-02-21T21:24:11Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)
#### Post date: [February 21, 2018, 9:24pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/1 "2018-02-21T21:24:11Z")

</div>

I think a dataframe viewer where I can look at each row and column and if needed can scroll across up and down are needed.

I know atom has a CSV editor plugin. Perhaps can repurpose that. I know it’s a lot of work but it feels so neccesary!

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [February 22, 2018, 11:57am UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/2 "2018-02-22T11:57:31Z")

</div>

This is not what you are asking for, but may nevertheless be of interest to you  
[https://github.com/davidanthoff/DataVoyager.jl](https://github.com/davidanthoff/DataVoyager.jl)

---

<div class="post-metadata">

### Author: ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)
#### Post date: [February 22, 2018, 3:23pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/3 "2018-02-22T15:23:05Z")

</div>

This is a problem that I’ve never seen truly solved. What is really needed is a dataframe API such as DataFrames.jl, IndexedTables.jl, pandas or R dataframes which _also_ has a GUI module preferably also with basic plotting. To my knowledge nothing like this exists even for pandas or R. The closest thing I’ve ever seen is people using the “data viewer” in spyder or pycharm to get a look at pandas dataframe. I also found [this](https://github.com/glue-viz/glue) python module very useful and it looks like it has matured significantly since I’ve last used it. I wonder how difficult it would be to get it to plug into Julia data?

---

<div class="post-metadata">

### Author: ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)
#### Post date: [February 22, 2018, 3:38pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/4 "2018-02-22T15:38:39Z")

</div>

A fast data viewer would easily put Julia ahead of R in my book. As stated above, python doesn’t have a good standard data viewer. R’s is pretty slow, with either Base R or Rstudio.

Jupyter Lab has a very sleek and responsive table viewer, but as it stands now, the only way to use it is to import a .csv. I submitted a feature request to have a function like R’s `View()` to use that table viewer for dataframes. So hopefully Jupyter Lab will soon be able to have a robust dataviewer. From the looks of it, it will be faster and more feature complete than R’s.

Stata is the benchmark for this, imo. Their data viewer is ridiculously responsive, but they have had a full time team working on this for years and have clearly figured out how to get as much mileage as possible from Qt.

---

<div class="post-metadata">

### Author: ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)
#### Post date: [February 22, 2018, 3:49pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/5 "2018-02-22T15:49:16Z")

</div>

If Julia will have a data viewer, I hope it works for multiple formats, including JLD, JLD2, hdf5，fst, RData, etc. This feature does not exist in R or Python, but I guess it should be useful.

---

<div class="post-metadata">

### Author: ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)
#### Post date: [February 22, 2018, 4:10pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/6 "2018-02-22T16:10:25Z")

</div>

I think the suggestion would be for a viewer for tabular objects within an open session of Julia, like `DataFrames` or matrices, rather than for viewing compressed data formats.

---

<div class="post-metadata">

### Author: ![tk3369](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tk3369/32/2824_2.png) [@tk3369](https://discourse.julialang.org/u/tk3369)
#### Post date: [February 22, 2018, 4:30pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/7 "2018-02-22T16:30:47Z")

</div>

A data viewer can be very responsive if it’s just looking at a window (or sub array) of the overall data set. A caching adapter would have to be built around various file formats. Perhaps a random access DataStream would do…?

If there’s a well defined standard I nterface for accessing and scrolling the window, a GUI would just be an addon.

---

<div class="post-metadata">

### Author: ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)
#### Post date: [February 22, 2018, 4:35pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/8 "2018-02-22T16:35:06Z")

</div>

Since you can store anything in those formats, probably going to make the data viewer much more complicated. If you were always looking at things that are essentially `AbstractVecOrMat` it is a much easier place to start.

---

<div class="post-metadata">

### Author: ![amellnik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amellnik/32/137_2.png) [@amellnik](https://discourse.julialang.org/u/amellnik)
#### Post date: [February 22, 2018, 6:04pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/9 "2018-02-22T18:04:38Z")

</div>

@davidanthoff shared [https://github.com/JuliaComputing/TableView.jl](https://github.com/JuliaComputing/TableView.jl) on slack which looks pretty close to what the OP was interesting in.

---

<div class="post-metadata">

### Author: ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)
#### Post date: [February 22, 2018, 6:10pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/10 "2018-02-22T18:10:05Z")

</div>

Very cool. Hopefully there is a way to use it with a browser normally, as I intensely dislike Jupyter notebooks.

---

<div class="post-metadata">

### Author: ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)
#### Post date: [February 22, 2018, 6:19pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/11 "2018-02-22T18:19:13Z")

</div>

It looks pretty cool! It’s based on WebIO, so I imagine it should work in Juno and/or in an Electron window as well.

EDIT: I’ve just checked: it actually does work in Juno inside the plot pane

---

<div class="post-metadata">

### Author: ![arnaudmgh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/arnaudmgh/32/7134_2.png) [@arnaudmgh](https://discourse.julialang.org/u/arnaudmgh)
#### Post date: [January 30, 2019, 9:36pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/12 "2019-01-30T21:36:05Z")

</div>

That looks like exactly what I needed, too bad it does not work in Julia v1

---

<div class="post-metadata">

### Author: ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)
#### Post date: [January 30, 2019, 9:44pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/13 "2019-01-30T21:44:48Z")

</div>

[GitHub - tpapp/BrowseTables.jl: Julia package for browsing tables that that implement the Tables.jl interface as HTML.](https://github.com/tpapp/BrowseTables.jl) is a simpler version that works very reliably.

---

<div class="post-metadata">

### Author: ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)
#### Post date: [January 30, 2019, 9:50pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/14 "2019-01-30T21:50:30Z")

</div>

I guess this should be an IDE feature…

---

<div class="post-metadata">

### Author: ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)
#### Post date: [January 30, 2019, 10:41pm UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/15 "2019-01-30T22:41:59Z")

</div>

I was pretty sure @pfitzseb implemented this for Juno once? Anyway, there’s a nice table viewer in Atom (tablr) that could probably be repurposed.

---

<div class="post-metadata">

### Author: ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)
#### Post date: [January 31, 2019, 2:10am UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/16 "2019-01-31T02:10:19Z")

</div>

Can TableView.jl and BrowseTables.jl edit the data or just view it? Because we need to modify it as well. At least modify the content of each “cell”, and preferably being also able to add new rows and columns.

---

<div class="post-metadata">

### Author: ![mwsohn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mwsohn/32/2696_2.png) [@mwsohn](https://discourse.julialang.org/u/mwsohn)
#### Post date: [January 31, 2019, 4:19am UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/17 "2019-01-31T04:19:41Z")

</div>

See if [GitHub - mwsohn/DFViews.jl](https://github.com/mwsohn/DFViews.jl) suits your need:

] add [GitHub - mwsohn/DFViews.jl](https://github.com/mwsohn/DFViews.jl)  
using DFViews  
dfview(yourdf)

This is a very simple, even primitive data viewer. Numbers are not right aligned any more after Julia 1.0 but I did not have time to fix it. By the way, it relies on Gtk.jl and two other packages I wrote. Install them in the following order:

add [GitHub - mwsohn/Labels.jl: Provides functionality to attach variable and value labels to DataFrames](https://github.com/mwsohn/Labels.jl)  
add [GitHub - mwsohn/Stella.jl: Julia functions that mimics stata functionality](https://github.com/mwsohn/Stella.jl)

---

<div class="post-metadata">

### Author: ![arnaudmgh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/arnaudmgh/32/7134_2.png) [@arnaudmgh](https://discourse.julialang.org/u/arnaudmgh)
#### Post date: [January 31, 2019, 5:08am UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/18 "2019-01-31T05:08:25Z")

</div>

Sweet! BrowseTables worked for me, directly on DataFrames.

```julia
using BrowseTables, Tables
open_html_table(df)

```

---

<div class="post-metadata">

### Author: ![arnaudmgh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/arnaudmgh/32/7134_2.png) [@arnaudmgh](https://discourse.julialang.org/u/arnaudmgh)
#### Post date: [January 31, 2019, 5:19am UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/19 "2019-01-31T05:19:17Z")

</div>

Thanks! Installation worked (Stella installation worked only after Labels was installed).

In Juno it is not working for me: I just get something the String printout of a Gtk object:

```julia
julia> dfview(tmp2)
Gtk.GtkWindowLeaf(name="", parent, width-request=-1, height-request=-1,
 visible=TRUE, sensitive=TRUE, app-paintable=FALSE, can-focus=FALSE,
 has-focus=FALSE, is-focus=FALSE, focus-on-click=TRUE, ...

```

etc…

---

<div class="post-metadata">

### Author: ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)
#### Post date: [January 31, 2019, 5:21am UTC](https://discourse.julialang.org/t/dataframe-viewer-needed/9239/20 "2019-01-31T05:21:58Z")

</div>

A data frame viewer is certainly a plus, but I am not sure if it is a good idea to allow cell editing…

[Next page](https://discourse.julialang.org/t/dataframe-viewer-needed/9239.md?page=2)
