如何在python和streamlit中下载excel文件?

如何在python和streamlit中下载excel文件?,python,excel,pandas,pandas.excelwriter,Python,Excel,Pandas,Pandas.excelwriter,我有一个python,它可以读取文件并使用python和streamlit将其转换为数据帧。我想创建一个函数,允许用户将此数据帧作为扩展名为xls的excel文件下载 因此,我尝试通过以下两个步骤读取数据框并将其转换为excel: pd.ExcelWriter df.to_excel 但当我尝试使用链接下载文件时,文件不会下载并显示此错误: Failed-Network error 代码: 将熊猫作为pd导入 导入streamlit作为st writer=pd.ExcelWriter('up

我有一个python,它可以读取文件并使用python和streamlit将其转换为数据帧。我想创建一个函数,允许用户将此数据帧作为扩展名为xls的excel文件下载

因此,我尝试通过以下两个步骤读取数据框并将其转换为excel:

pd.ExcelWriter
df.to_excel
但当我尝试使用链接下载文件时,文件不会下载并显示此错误:

Failed-Network error
代码:
将熊猫作为pd导入
导入streamlit作为st
writer=pd.ExcelWriter('update2.xlsx')
df.to_excel(writer,index=False,header=True,encoding='utf-8')
将open(writer,'rb')作为f:
b64=base64.b64编码(f.read())
href=f“”
st.write(href,unsafe\u allow\u html=True)

我的代码中的错误在哪里???

第5行无法执行,因为您尚未将任何excel分配给数据框df

在代码中尝试以下操作:

df = pd.read_csv('update2.xlsx')
我希望这有帮助


注意

第一次读取\u csv是用于csv的,而不是我认为的excel文件。第二,我需要写excel,而不是从中读取。第三,在第三行,我打开excel文件以读取
df = pd.read_csv('update2.xlsx')