当前位置: 首页 > news >正文

【Streamlit学习笔记】实现包含多个sheet的excel文件下载

1、什么是Streamlit

Streamlit是一个免费的开源框架,用于快速构建和共享漂亮的机器学习和数据科学Web应用程序,官网链接 Streamlit
Streamlit API链接 API reference
实际项目中遇到的问题:包含多个sheet的excel文件下载,下面将给出实现程序

2、st.download_button下载excel文件

官网给出的参考程序,下载csv文件例程如下:

import streamlit as st@st.cache_data
def convert_df(df):# IMPORTANT: Cache the conversion to prevent computation on every rerunreturn df.to_csv().encode('utf-8')csv = convert_df(my_large_df)st.download_button(label="Download data as CSV",data=csv,file_name='large_df.csv',mime='text/csv',
)

如上所述程序,测试发现无法下载包含多个sheet的excel文件

3、st.download_button下载包含多个sheet的excel文件

废话不多说,直接给出程序:

from io import BytesIO
import streamlit as st
import pandas as pdxlsx_files_path = 'excel文件路径'
df = pd.read_excel(xlsx_files_path,sheet_name=None,header=0,index_col=0)
excel_keys = list(df.keys())
output = BytesIO()
writer = pd.ExcelWriter(output, engine='xlsxwriter')
for k in range(len(excel_keys)):df = pd.read_excel(xlsx_files_path,sheet_name=excel_keys[k],header=0,index_col=0)df.to_excel(writer, sheet_name=excel_keys[k])
writer.close()
st.download_button('📥下载文件至本地', data = output.getvalue(), file_name = options, mime="application/vnd.ms-excel")

亲测有效,下载成功!!!效果如图所示:

在这里插入图片描述

希望本文对大家有帮助,上文若有不妥之处,欢迎指正

分享决定高度,学习拉开差距

http://www.lryc.cn/news/318264.html

相关文章:

  • [Redis]——主从同步原理(全量同步、增量同步)
  • Buildroot 之二 详解构建架构、流程、external tree、示例
  • 牛客小白月赛61-C-小喵觅食
  • 200 名专家编写报告:AI 发展可能对人类构成「灭绝级威胁」
  • 学习Android的第二十九天
  • SpringMVC重点记录
  • 一条 SQL 更新语句如何执行的
  • Github上哪些好用的安全工具1
  • 手写Mybatis自动填充插件
  • upload文件上传漏洞复现
  • Docker 安装部署 SqlServer 数据库
  • cmath 中cos sin等常用函数的坑(弧度角度换算)
  • 深度解析HTTP反向代理-okey proxy
  • SwinIR训练报错解决
  • C++类和对象一
  • Linux之线程互斥
  • C++ 拷贝构造函数和运算符重载
  • 二刷代码随想录算法训练营第二十三天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
  • 信息抽取在旅游行业的应用:以景点信息抽取为例
  • Linux——基础指令
  • H5 带网站测速引导页源码
  • 案例分析篇07:数据库设计相关28个考点(23~28)(2024年软考高级系统架构设计师冲刺知识点总结系列文章)
  • Word中解决插入脚注导致的分页位置错误问题
  • 2024/03/14(网络编程·day2)
  • 2024最新陪诊小程序/医院陪诊滴嗒陪诊小程序源码-陪护服务平台陪诊师陪
  • 基于单片机的温度控制系统设计
  • unity3d Animal Controller的Animal组件中Speeds,States和modes基础部分理解
  • Tomcat详解
  • SpringCloudAlibaba 网关gateway整合sentinel日志默认路径修改
  • #LLM入门|Prompt#3.3_存储_Memory