HTML破折号表

时间:2018-09-07 00:30:43

标签: python-3.x dictionary html-table plotly-dash

我正在尝试使用破折号创建html表

我的数据框如下:

   Cap non-cap
0   A   a
1   B   b
2   C   c
3   D   d
4   E   e
..
26  Z   z

我想像数据框一样显示html表,但没有0-26索引。 结构是

{'Cap' : ['A', 'B', 'C',....], 'non-Cap' : ['a','b','c',...]}

我尝试过:

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

1 个答案:

答案 0 :(得分:1)

import dash
import dash_html_components as html
import pandas as pd

data = {'Cap' : ['A', 'B', 'C', ], 'non-Cap' : ['a','b','c', ]}
df = pd.DataFrame(data)

def generate_table(dataframe, max_rows=26):
    return html.Table(
        # Header
        [html.Tr([html.Th(col) for col in dataframe.columns]) ] +
        # Body
        [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='StackOverflow - Html dash table'),
    generate_table(df)
])

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