2021年4月現在、file_uploaderはあるのですがダウンロードボタンはないので自分で作る必要があります。
DataFrameの場合
df
というDataFrameをCSVにしてダウンロードさせます。
import base64
csv = df.to_csv(index=False)
b64 = base64.b64encode(csv.encode()).decode()
href = f'<a href="data:application/octet-stream;base64,{b64}" download="result.csv">download</a>'
st.markdown(f"ダウンロードする {href}", unsafe_allow_html=True)
汎用化した関数
import os
import base64
def file_downloader(filename, file_label='File'):
with open(filename, 'rb') as f:
data = f.read()
b64 = base64.b64encode(csv.encode()).decode()
href = f'<a href="data:application/octet-stream;base64,{b64}" download="result.csv">download</a>'
st.markdown(f"ダウンロードする {href}", unsafe_allow_html=True)