导出如何在plotly DataTable中工作



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

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'},
],
)

它显示在web UI中,但我如何调用复制/粘贴功能?它应该简单地将剪贴板上显示的所有数据(带标题(复制到Excel电子表格中。我正在使用Windows 10。

您可以在回调中使用组件component_propertyderived_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")]

最新更新