Best tool for printing tables in Jupyter notebook?

Not as pretty as your table, but FWIW this is what I use:

module HTMLElements

export table, fields_table

function table(arr::Matrix; pre=true, column_names=nothing)
    if column_names !== nothing
        arr = vcat(reshape(column_names, 1, length(column_names)), arr)
    end
    s =
    """
    <table border="1">
    """
    for r in 1:size(arr, 1)
        s *= "<tr>"
        for c in 1:size(arr, 2)
            s *= "<td>"
            if pre s *= "<pre>" end
            s *= string(arr[r, c])
            if pre s *= "</pre>" end
        end
        s *= "</tr>"
    end
    s *= "</table>"
    return HTML(s)
end

table(ass::Associative; kwargs...) = table(ass...; kwargs...)
table(pairs::Pair...; kwargs...) =
    table(hcat([x[1] for x in pairs], [x[2] for x in pairs]); kwargs...)


""" `fields_table(obj)` displays the fields of object in an HTML table """
fields_table(obj) =
    table(Pair[name=>getfield(obj, name) for name in fieldnames(obj)]...)

end

2 Likes