当前位置: 首页 > 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")

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

在这里插入图片描述

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

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

相关文章:

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

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

[Redis]——主从同步原理(全量同步、增量同步)

目录 Redis集群: 主从同步原理: replid和offset: 全量同步和增量同步: repl_baklog文件: 主从集群的优化: Redis集群: 部署多台Redis我们称之为Redis集群,他有一个主节点(负责写操作)&…...

Buildroot 之二 详解构建架构、流程、external tree、示例

构建系统 Buildroot 中的构建系统使用的是从 Linux Kernel(4.17-rc2) 中移植的 Kconfig(配置) + Makefile & Kbuild(编译)这套构建系统,移植后的源码位于 support/kconfig/ 目录下。Buildroot 本身是一个构建系统,与直接编译源码不同,因此,它对这套系统进行了比较…...

牛客小白月赛61-C-小喵觅食

很经典的bfs,就是从猫咪和MM的坐标开始bfs搜索 不过这题有些小细节需要注意 1.认真审题,注意,猫一旦闻到小鱼干的味道,开始动,此时MM就不动了,一开始没仔细审题,很不好的习惯 2.注意移动的条件,vis,不是墙,距离是MM的移动距离范围内 3.这个猫咪的r2是闻味道的r2,不是移动距…...

200 名专家编写报告:AI 发展可能对人类构成「灭绝级威胁」

3 月 14 日消息,美国国务院委托编写了一份新报告,警告 AI 正呈指数级发展,可能会对人类构成「灭绝级威胁」。 这份报告全称为《提高先进人工智能安全保障的行动计划》,要求美国政府必须迅速、果断地采取行动,以避免 A…...

学习Android的第二十九天

目录 Android Service 与 Activity 通讯 范例 Android Service Alarm 定时广播 Alarm Alarm 使用流程 范例 Android IBinder Binder 为什么是 Binder ? Android Service 与 Activity 通讯 Activity 与 Service 通信的媒介就是 Service 中的 onBind() 方法&#xff0…...

SpringMVC重点记录

目录 1.学习重点2.回顾MVC3.回顾servlet4.初始SpringMVC4.1.为什么要学SpringMVC?4.2.SpringMVC的中重点DispatcherServlet4.3.SpringMVC项目的搭建4.4.MVC框架要做哪些事情?4.5.可能会遇到的问题 5.SpringMVC的执行原理6.使用注解开发SpringMVC7.Controller控制总结8.RestF…...

一条 SQL 更新语句如何执行的

Server 层 存储引擎层 总流程 查询语句 连接器 查询缓存 分析器 优化器 执行器 更新语句 redo log(节省的是随机写磁盘的 IO 消耗(转成顺序写&#x…...

Github上哪些好用的安全工具1

专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉! URLFinder 一款快速提取网页信息的工具。该项目可以快速爬取网页上的 URL 地址、JS 文件里的 API 接口等信息,支持批量抓取…...

手写Mybatis自动填充插件

目录 一、Mybatis插件简介🥙二、工程创建及前期准备工作🥫实现代码配置文件 三、插件核心代码实现🍗四、测试🥓 一、Mybatis插件简介🥙 Mybatis插件运行原理及自定义插件_简述mybatis的插件运行原理,以及如何编写一个…...

upload文件上传漏洞复现

什么是文件上传漏洞: 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。“…...

Docker 安装部署 SqlServer 数据库

Docker 安装部署 SqlServer 数据库 背景: ​ 最近在开发数据中台数据集成模块,需要对接大量的数据做测试, 由于SqlServer 下载安装会耗费大量时间,所以采用 Docker 安装 Sqlserver 的方式部署数据库。 1、拉去 sqlserver 镜像 …...

cmath 中cos sin等常用函数的坑(弧度角度换算)

cmath中三角函数的输入是弧度,不是角度.忘了这件事,找bug找了好久! 弧度是旧称弪。在数学和物理中,弧度是角的度量单位。它是由国际单位制导出的单位,单位缩写是rad。弧度是指在一个圆中,弧长和半径之比,即|弧度|弧长半径。 角度…...

深度解析HTTP反向代理-okey proxy

反向代理這個概念可能並不常見,但其實它對於提升網路安全和訪問速度方面發揮著很大作用。 HTTP反向代理(HTTP Reverse Proxy)是一種特殊的代理伺服器,首先它能夠接收互聯網上的連接請求,然後將這些請求轉發給內部網路…...

SwinIR训练报错解决

swinir训练报错解决 记录swinir图像超分重建算法复现过程中的报错信息,并提供相应的解决方案 报错信息 UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\actions-runner\_work\pyto…...

C++类和对象一

#include <iostream> using namespace std;//设计一个学生类 class CStudent {public: //公有成员void InputData(){cout << "请输入学号";cin >> sno;cout << "请输入姓名";cin >> sname;cout << "请输入分…...

Linux之线程互斥

目录 一、问题引入 二、线程互斥 1、相关概念 2、加锁保护 1、静态分配 2、动态分配 3、锁的原理 4、死锁 三、可重入与线程安全 1、概念 2、常见的线程不安全的情况 3、常见的线程安全的情况 4、常见不可重入的情况 5、常见可重入的情况 6、可重入与线程安全联系…...

C++ 拷贝构造函数和运算符重载

目录 一. 拷贝构造函数 1. 引入 2. 拷贝构造的概念 3. 浅拷贝 4. 深拷贝 二. C运算符重载 1. 概念 2. 注意事项 3.举例 一. 拷贝构造函数 1. 引入 我们在创建对象时&#xff0c;能不能创建一个与原先对象一模一样的新对象呢&#xff1f;为了解决这个问题&#x…...

二刷代码随想录算法训练营第二十三天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

目录 一、669. 修剪二叉搜索树 二、108. 将有序数组转换为二叉搜索树 三、538. 把二叉搜索树转换为累加树 一、669. 修剪二叉搜索树 题目链接&#xff1a;力扣 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a; 你修剪的方式不对&#xff0c;我来给你纠正一下&#…...

信息抽取在旅游行业的应用:以景点信息抽取为例

开源项目推荐 今天先给大家推荐一个开源项目&#xff0c;多模态AI能力引擎平台: 免费的自然语言处理、情感分析、实体识别、图像识别与分类、OCR识别、语音识别接口&#xff0c;功能强大&#xff0c;欢迎体验。 https://gitee.com/stonedtx/free-nlp-api 场景描述 在旅游行业…...

ISP模型与硬件平台配置迁移实践指南

1. 理解ISP模型与硬件平台的配置迁移在图像信号处理器&#xff08;ISP&#xff09;开发过程中&#xff0c;我们经常需要在软件模型和实际硬件平台之间进行配置迁移。这种迁移的核心挑战在于确保模型仿真结果与硬件输出完全一致。根据我的经验&#xff0c;这涉及到两个主要操作模…...

【字节跳动】Robix系统的底层技术参数配置

Robix 绝密底层裸数据 无修饰纯技术续档一、地址总线时序剥离源码 void addr_bus_timing_restore(void) {setup_hold_time_clr();strobe_delay_cancel();bus_wait_state_disable();addr_valid_mask_null(); } 总线时序原生参数地址建立保持时间清零 读写选通脉冲延时全部取消 总…...

用Python处理DREAMER脑电数据集:从.mat文件到.npy文件的完整实战教程

用Python处理DREAMER脑电数据集&#xff1a;从.mat文件到.npy文件的完整实战教程在情感计算与神经科学交叉领域&#xff0c;DREAMER数据集因其同时包含脑电信号&#xff08;EEG&#xff09;和情感评分而备受研究者青睐。但原始数据以.mat格式存储&#xff0c;这种MATLAB专属格式…...

深度揭秘:如何在Mac上无痛备份微信聊天记录

深度揭秘&#xff1a;如何在Mac上无痛备份微信聊天记录 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾因微信聊天记录丢失而懊恼&#xff1f;那些珍贵的对话、重…...

大数据+大模型=乘法效应?6个场景告诉你,大模型如何让你的数据平台“活”起来!

本文探讨了大数据与大模型的关系&#xff0c;提出大模型是大数据平台的“发动机”。文章重点介绍了六个必须使用大模型才能解放双手的场景&#xff0c;包括数据血缘解析、Text2SQL、数据质量智能巡检、调度任务智能运维、元数据管理和报告自动生成。这些场景展示了大模型如何通…...

缓存设计:从 LRU 到 Redis 实战

摘要&#xff1a;缓存是提升系统性能的第一道防线&#xff0c;也是面试中系统设计环节的核心话题。本文系统讲解缓存的四大置换策略、LRU 和 LFU 的实现原理&#xff0c;并结合 Python 代码展示完整的缓存系统。AI 开发者还将学到 KV Cache 在 LLM 推理中的关键作用。一、为什么…...

工业级房价预测实战:从数据清洗到可解释模型部署

1. 这不是“调个模型就完事”的房价预测——而是一次完整的工业级回归建模实战复盘你打开Kaggle&#xff0c;下载一个带“house price”字样的CSV文件&#xff0c;pandas读进来&#xff0c;train_test_split切两刀&#xff0c;RandomForestRegressor.fit()跑完&#xff0c;R显示…...

告别RGB!用HSL颜色空间在STM32上做颜色识别,为什么更准?附OV7725实战代码与调参心得

HSL颜色空间在嵌入式视觉中的实战优势&#xff1a;基于STM32与OV7725的鲁棒识别方案 当我们在嵌入式设备上实现颜色识别时&#xff0c;光照变化总是最令人头疼的问题之一。早晨、中午和傍晚的光线差异&#xff0c;阴影的干扰&#xff0c;甚至是LED频闪带来的影响&#xff0c;都…...

数据结构太难了?用画图的方式理解链表和栈和树和图

别怕&#xff0c;把它们画出来&#xff0c;你会发现数据结构就是一堆积木。&#x1f44b; 你好&#xff0c;我是 Evan&#xff0c;一名计算机专业的学长&#xff0c;也是《大一突围》专栏的作者。还记得大一第一次见到“链表”时&#xff0c;我被指针绕晕了。后来我试着一个节点…...

排水管网可视化管理平台,免巡检、故障快速定位

城市排水管网线路长、节点多、覆盖范围广&#xff0c;传统人工巡检模式面临诸多痛点&#xff1a;巡检人员需步行逐一排查井盖、泵站、溢流口等关键设施&#xff0c;工作强度大、效率低&#xff0c;且难以保证巡检到位率和覆盖率。此外&#xff0c;人工无法全天候进行监管&#…...