使用Dash在Julia中格式化HTML表格

4
我将尝试使用Julia中的Dash来格式化HTML表格。根据Julia Plotly页面上的第三个示例,我正在使用“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 中 这个示例中定义 html_table 的样式,使用 style="text-align:center" 或者在 `html_table` 标签的结尾处使用 style = ["text:align:center"] 。由于 Julia 不再使用花括号,我将 Python 示例中的花括号改为了圆括号和方括号(以及没有括号),但仍然没有找到解决方法。

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 函数在页面上显示出错:

enter image description here

我已经尝试寻找基于Julia的表格样式示例,但没有找到太多的内容。

1个回答

2

样式参数——像所有键值对一样的参数——都作为字典传递。一个类似于Python字典的转译,比如{'text-align': 'center'},是一个Dict

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

请注意,您还可以使用NamedTuple来更简洁地表示,但破折号不是有效的Julia标识符,因此您需要使用camelCase:
style = (textAlign="center",) # The comma is important!

谢谢你,@MattB!这确实很有帮助。你知道如何将表格居中于页面而不仅仅是列中的文本吗? - AaronJPung
没关系 - 原来解决方案是这样的:style = (textAlign="center", marginLeft="auto", marginRight="auto",)) - AaronJPung

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接