如何将基于html组件的表转换为短划线Datatable



我创建了一个带有dash html组件的表(通过一个函数(。然而,我发现这种方法有一些局限性,即我不知道如何将显示的行限制为25行,并将表拆分为多页。我已经看到仪表板Databale提供了更多的灵活性。我还是一个新手,我发现除法分离有点笨拙。如何将我的代码(我的表(转换为Datatable?

这是我的表格生成函数:

def generate_table(dataframe, max_rows=10000):
return html.Table([
html.Thead(
html.Tr([html.Th(col) for col in dataframe.columns])
),
html.Tbody([
html.Tr([
html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
]) for i in range(min(len(dataframe), max_rows))
])
], style={
'margin-right': 'auto',
'margin-left': 'auto'
}
)

在布局中,我只是把桌子放在一个单独的分区中。这里没有什么特别的。

html.Div(id='modulewafer-table', style={'text-align' : 'center'}),

我知道短划线数据表的语法使用rows=''columns=''字典。或者我错了。我可以使用现有函数将生成的值分配给这些属性吗?

根据注释,由于代码不适合注释框,我正在复制最小代码,以从数据帧创建dash Datatable,从这里开始,进行一些小的更改,以反映您的姓名

import dash
import dash_table
import pandas as pd
# here you would put the dataframe that features in your question as an argument to your function generate_table
df = dataframe
app = dash.Dash(__name__)
app.layout = dash_table.DataTable(
id='table',
columns=[{"name": i, "id": i} for i in df.columns],
data=df.to_dict('records'),
)
if __name__ == '__main__':
app.run_server(debug=True)

最新更新