Bring Drag & Drop to Dash with Dashboard Engine. 💫 Learn how at our next webinar!

Download cache df with "save as" dialog box

I’d like to save cache data using “save as” box dialog.

I’ve already done something like this using tkinter, but I haven’t found anything yet.

You could use the Download component from dash-extensions. Here is an example with a dataframe,

import dash
import pandas as pd
import dash_html_components as html

from dash.dependencies import Output, Input
from dash_extensions import Download
from dash_extensions.snippets import send_data_frame

# Example data.
df = pd.DataFrame({'a': [1, 2, 3, 4], 'b': [2, 1, 5, 6], 'c': ['x', 'x', 'y', 'y']})
# Create app.
app = dash.Dash(prevent_initial_callbacks=True)
app.layout = html.Div([html.Button("Download", id="btn"), Download(id="download")])

@app.callback(Output("download", "data"), [Input("btn", "n_clicks")])
def func(n_nlicks):
    return send_data_frame(df.to_excel, "mydf.xls")
if __name__ == '__main__':
1 Like