CSV в таблице с Da sh? - PullRequest
       5

CSV в таблице с Da sh?

0 голосов
/ 12 февраля 2020

У меня есть данные этого типа:

Date,FS,Total,Used,Mount
2020-01-25-12-00,/dev/hd1/,350,300,/dev/mount1
2020-01-25-18-00,/dev/hd2/,370,320,/dev/mount2
2020-01-26-06-00,/dev/hd3/,395,350,/dev/mount3
2020-01-26-12-00,/dev/hd1/,350,300,/dev/mount1
2020-01-26-18-00,/dev/hd2/,370,320,/dev/mount2
2020-01-27-06-00,/dev/hd3/,395,350,/dev/mount3
2020-01-27-12-00,/dev/hd1/,350,300,/dev/mount1
2020-01-27-18-00,/dev/hd2/,370,320,/dev/mount2
2020-01-28-06-00,/dev/hd3/,395,350,/dev/mount3
2020-01-28-12-00,/dev/hd1/,350,300,/dev/mount1
2020-01-28-18-00,/dev/hd2/,370,320,/dev/mount2
2020-01-29-06-00,/dev/hd3/,395,350,/dev/mount3

Я могу отобразить такую ​​таблицу:

#!/usr/bin/env python3

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


df = pd.read_csv('/home/tbenedet/Desktop/Servers/Server2/2019-10/data.txt')


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()

Теперь я перехожу по этой ссылке, чтобы создать раскрывающийся список с моим списком FS из моего CSV и для отображения моего CSV: GitHub учебник

Но когда я пытаюсь так:

#!/usr/bin/env python3

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


df = pd.read_csv('/home/tbenedet/Desktop/Servers/Server2/2019-10/data.txt')



def generate_table(dataframe, max_rows:''):
    return html.Table(
        [html.Tr([html.Th(col) for col in dataframe.columns])] +
        [html.Tr([
            html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
        ]) for i in range(min(len(dataframe), max_rows))]
    )

app = dash.Dash(__name__)

app.layout = html.Div(children=[
    html.H4(children='DF command output table'),
    dcc.Dropdown(id='dropdown', options=[
        {'label': i, 'value': i} for i in df.FS.unique()
    ], multi=True, placeholder='Filter by FS...'),
    html.Div(id='table-container')
    ])

@app.callback(
    dash.dependencies.Output('table-container', 'children'),
    [dash.dependencies.Input('dropdown', 'value')])
def display_table(dropdown_value):
    if dropdown_value is None:
        return generate_table(df)

        dff = df[df.FS.str.contains('|'.join(dropdown_value))]
        return generate_table(dff)


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

Я не ставлю значение в значение max_rows, потому что в моем csv столько строк ... У меня выпадающий список со списком FS, но таблица не отображается ...

Можете ли вы показать мне, как исправить это?

...