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

Can a Dash app load files from a local server?

Recently I wrote a Dash app that utilizes 20 or so pandas dataframes to plot several different time series, each associated with a date and time. In order to do this, there are 3 blocks of code: parsing and loading in the files from a local server, manipulating the files and creating dataframes, and finally running the Dash app using the manipulated dataframes. However, the first part of this process takes about ~8 secs, which is a long time for a user to sit there and wait upon first load. As such, I was curious if it was possible to supply the user a date picker upon which the user could select a certain day. That day will then have 1 file to load, instead of 20. After the user selected that file, the pandas processing would also need to be done and then the Dash app would be initialized afterwards. Is this sort of thing possible? If it is, where can I find more info/examples? If not, are there any alternatives?

Edit: after spending some additional time thinking about this, I think this is actually possible (not 100% sure). Conceptually, this is how I am thinking:

Use dcc.SingleDatePicker to spit out a selected date. Feed in the selected date to match a specific file stored on a server accessible to the machine running the code, e.g., /path/to/file/date, and then utilize dcc.Upload to load in the file. From there, use python to process the file within the app and then plot the processed data. Is this all possible?