如何在 streamlit 中将 DataFrame 保存为 csv?
How to save DataFrame as csv in streamlit?
您好,我尝试将我的 DataFrame 保存为 streamlit 中的 csv 文件。
我的程序 return 将两个数据帧流化为 data
。
我想制作允许保存此数据帧的按钮。
我试试这个简单的代码:
if st.button("Pobierz plik"):
data[0].to_csv('file.csv',index=False)
但是当我点击按钮时没有任何反应。
有人知道吗?
您需要使用st.download_button
对于 streamlit > 1.0.0
Display a download button widget.
This is useful when you would like to provide a way for your users to download a file directly from your app.
Note that the data to be downloaded is stored in-memory while the user is connected, so it's a good idea to keep file sizes under a couple hundred megabytes to conserve memory.
可以找到一个工作示例here
你的情况
@st.cache
def convert_df(df):
# IMPORTANT: Cache the conversion to prevent computation on every rerun
return df.to_csv().encode('utf-8')
csv = convert_df(data[0])
st.download_button(
label="Download data as CSV",
data=csv,
file_name='large_df.csv',
mime='text/csv',
)
您好,我尝试将我的 DataFrame 保存为 streamlit 中的 csv 文件。
我的程序 return 将两个数据帧流化为 data
。
我想制作允许保存此数据帧的按钮。
我试试这个简单的代码:
if st.button("Pobierz plik"):
data[0].to_csv('file.csv',index=False)
但是当我点击按钮时没有任何反应。 有人知道吗?
您需要使用st.download_button
对于 streamlit > 1.0.0
Display a download button widget.
This is useful when you would like to provide a way for your users to download a file directly from your app.
Note that the data to be downloaded is stored in-memory while the user is connected, so it's a good idea to keep file sizes under a couple hundred megabytes to conserve memory.
可以找到一个工作示例here
你的情况
@st.cache
def convert_df(df):
# IMPORTANT: Cache the conversion to prevent computation on every rerun
return df.to_csv().encode('utf-8')
csv = convert_df(data[0])
st.download_button(
label="Download data as CSV",
data=csv,
file_name='large_df.csv',
mime='text/csv',
)