Can we download excel files those generated by your app in the similar fashion?
Hi @pyuser – Since @Marc’s solution basically uses pandas’ “to_csv” function to do the work, you might try replacing that part of the File Download Workaround with the “to_excel” method documented in the Pandas docs here.
In other words, instead of this line:
csv = df.to_csv(index=False)
You’d put something like this:
xsl = df.to_excel()
I think this will work, or at least this is the stub of a solution. Let us know if you get it working!
Took interest in this topic recently as I’m helping a friend
Inspired by @Marc’s example using base64
, for .xlsx, and a SO tip, one approach to create the encoding-decoding is as follow:
df = pd.DataFrame(data, columns=["Col1", "Col2", "Col3"])
excel_path = 'test.xlsx'
xlsx = df.to_excel(excel_path)
data = open(excel_path, 'rb').read()
b64 = base64.b64encode(data).decode('UTF-8')
For a full implementation, refer to @Marc’s example.
I suppose one can add drop down to allow user to select output format
While at it, why add .zip
to the list, so one may pack anything into download
Courtesy of a SO post:
zip_path = "test.zip"
my_zipfile = zipfile.ZipFile(zip_path, mode='w', compression=zipfile.ZIP_DEFLATED)
# Write to zip file
my_zipfile.write(excel_path)
my_zipfile.close()
with open(zip_path, "rb") as f:
bytes = f.read()
b64 = base64.b64encode(bytes).decode()
Similar as before, once we get the decoded b64
data, the remaining implementation is covered in @Marc example.
how can i download the output of sweetviz and render it in web app
can i give option to download html files and how