导出如何在 plotly DataTable 中工作?

How does export work in plotly DataTable?

我正在 python 中开发一个应用程序,该应用程序在绘图数据表中显示数据(请参阅 https://dash.plot.ly/datatable)。在多个地方,文档提到了应该包含在 DataTable 中的导出或 copy/paste 功能。但是我找不到任何文档说明用户界面如何工作。 如果我有这样的数据表:

   dash_table.DataTable(
        id='rating-summary-table',
        data=df_summary.to_dict('records)'),
        columns=columns,
        style_cell_conditional=[
            {'if': dict(column_id='Name'), 'textAlign': 'left'},
        ],
    )

它显示在网络中 UI,但如何调用 copy/paste 功能?它应该简单地复制剪贴板上显示的所有数据(使用 headers)以粘贴到 Excel 电子表格中。 我正在研究 Windows 10.

您可以在回调中使用组件 component_property derived_virtual_data,并编写如下内容:

df = pd.DataFrame(virtual_data)

例子

@app.callback(
    Output('saved-results', 'children'),
    [Input('save-button', 'n_clicks')],
    [State(component_id='rating-summary-table', component_property="derived_virtual_data")],
)
def save_results(n_clicks, virtual_data):
    if n_clicks is not None:
        df = pd.DataFrame(virtual_data)
        df.rename(columns={v: k for k, v in col_dict.items()}, inplace=True)
        filename = datetime.datetime.now().strftime("%Y%m%d-%H%M%S") + '_results.csv'
        saved_results.append(filename)
        df.to_csv(RESULTS_DIRECTORY + filename,
                  encoding='utf-8',
                  index=False,
                  sep=';')
        return files_list
    else:
        return [html.Li("Dataframe saved")]