BrowseTables.jl is a simple package that outputs formatted HTML for tables that support the Tables.jl interface.
The primary purpose of the package is to make eyeballing medium-sized data tables easier. The default formatting uses a fairly condensed font and layout, while still remaining readable. I would like to thank @y4lu for help with CSS.
pkg> add BrowseTables. Then
table = (A = rand(vcat(1:10, missing), 100),
B = rand(vcat('a':'h', missing), 100),
C = rand(1:100, 100))
Could also be good to get the html output without writing it to file, so we could show tables in an interface using Interact.jl and observables.
Happy to do this, please open an issue for further discussion.
Interactive dataframe/table exploration using
BrowseTables.jl and the
reload node app.
Have been using a static html server live-reloader app to view dataframe and table output in a browser via an html file written from Julia. Posted examples using
PrettyTables.jl (https://github.com/ronisbr/PrettyTables.jl) with the REPL (PrettyTables.jl now has initial support for HTML output) and with Sublime Text (Sublime Text 3: Worth a look!). See the second Sublime Text post for more detail regarding selection of the
reload node application among a host of static-server/live-reloader options (e.g. active support, permissive license, etc). The
reload application can be sourced directly from GitHub (https://github.com/alallier/reload/blob/master/README.md) and installed using npm (https://www.npmjs.com/package/reload).
Thought I’d share a screenshot of this along with @Tamas_Papp’s
BrowseTables package, it worked quite nicely for this particular interactive data exploration use case wrangling some CMS data, and required no special formatting, just ship the dataframe to the browser, so much nicer than using
show function! This demonstrates use with a Jupyter notebook, but can be any source that writes the html file from Julia.
using BrowseTables, it’s a simple one-liner command to write the table - this includes use of some the kwargs but a basic 'write_html_table(“index.html”, df)` would suffice:
write_html_table("index.html", prvdr; title="Hospital Cost Report", caption="HOSP_RPT_ALPHA where CLMN_NUM = '00200' AND RPT_REC_NUM = '649581'")
And for anyone curious, on the backend, here is how I have this set up to work with Julia on Linux. These are tiled
shells within a console (preparing myself for a migration from KDE to i3 at some point). Note the upper right two tiles, the rightmost has the
command run after navigating to the directory with the html file and producing the first output from Julia (on localhost:8080). To the left of that is the Julia kernel running the Jupyter notebook using
(on localhost:8888). I add packages in a kernel below that, have a REPL over to the left, and a shell below that.
Thanks for sharing this, it always feels nice if people find my packages useful.