首页 > 解决方案 > 使用 Dash 在 Julia 中格式化 HTML 表格

问题描述

我正在尝试在 Julia 中使用 Dash 格式化 HTML 表格。基于来自Julia Plotly page的第三个示例,我正在使用“generate_table”函数:

function generate_table(dataframe, max_rows = size(dataframe)[1])
    html_table([
    html_thead(html_tr([html_th(col) for col in names(dataframe)])),
    html_tbody([
        html_tr([html_td(dataframe[r, c]) for c in names(dataframe)]) for r = 1:min(nrow(dataframe), max_rows)]),
    ])
end

并使用数据框调用此函数,巧妙地称为“df”:

generate_table(df)

这工作正常,但结果表被推到网页的左侧。如何设置表格的样式以在页面上居中?

我已经尝试使用 Python 中的这个示例style定义html_table 的,使用或html_table` 标记,如下例所示。由于 Julia 不再使用大括号,我将 Python 示例中的大括号更改为圆括号和方括号(根本没有括号),但仍然没有找到解决方案。style="text-align:center"style=["text:align:center"] at the end of the

function generate_table(dataframe, max_rows = size(dataframe)[1])
    html_table([
    html_thead(html_tr([html_th(col) for col in names(dataframe)])),
    html_tbody([
        html_tr([html_td(dataframe[r, c]) for c in names(dataframe)]) for r = 1:min(nrow(dataframe), max_rows)]),
    ], style="text-align:center")
end

这个generate_table函数在结果页面上给了我这个错误:

在此处输入图像描述

我已经尝试寻找基于 Julia 的有关如何设置这些表格样式的示例,但我没有找到太多。

标签: html-tablejuliastylingplotly-dash

解决方案


样式参数——就像所有类似键值的参数一样——作为字典传递。python dict 之类的音译{'text-align': 'center'}Dict

style = Dict("text-align"=>"center")

请注意,您也可以使用NamedTuples 作为更简洁的速记,但破折号不是有效的 Julia 标识符,因此您可以改用 camelCase:

style = (textAlign="center",) # The comma is important!

推荐阅读