gpt4 book ai didi

python-3.x - 如何使用 Dash 在具有大型数据帧的数据表中提供分页

转载 作者:行者123 更新时间:2023-12-02 22:00:53 27 4
gpt4 key购买 nike

我目前使用的是 dash-1.0.1。我正在创建一个公共(public)仪表板,它以数据表的形式返回详细报告。但是数据表很大,我想为数据表提供分页功能,并提供显示[条目数]下拉列表来显示表中的条目数页。

有什么方法可以实现这一点吗?

最佳答案

似乎分页选项已添加到 DataTable 类中,可以使用许多参数进行配置。

基于给出的示例here ,我创建了一个带有分页的数据表的工作演示,并带有一个允许选择条目数量的下拉列表:

import dash
from dash.dependencies import Input, Output
import dash_table
import dash_html_components as html
import dash_core_components as dcc
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder2007.csv')
df[' index'] = range(1, len(df) + 1)
app = dash.Dash(__name__)
PAGE_SIZE = 15

app.layout = html.Div([
    html.Div('Data table pagination test'),
    dcc.Dropdown(
        id='select_page_size',
        options=[{'label': '5', 'value': 5}, {'label': '10', 'value': 10}, {'label': '15', 'value': 15}],
        value=5
    ),
    html.Div(dash_table.DataTable(
        id='datatable-paging',
        columns=[{"name": i, "id": i} for i in df.columns],
        data=df.to_dict("rows"),
        page_size=PAGE_SIZE,
        page_current=0,
    ))
])

@app.callback(
    Output('datatable-paging', 'page_size'),
    [Input('select_page_size', 'value')])
def update_graph(page_size):
    return page_size


if __name__ == '__main__':
    app.run_server(debug=True)

注意:在以前的版本中DataTable接收分页设置作为字典:

dash_table.DataTable(
...
pagination_settings={
'current_page': 0,
'page_size': PAGE_SIZE
},
)

结果:

enter image description here

关于python-3.x - 如何使用 Dash 在具有大型数据帧的数据表中提供分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51614420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com