pandas dataframe写入excel的多个sheet页面

news/2025/1/16 1:44:37/

pandas根据dataframe生成一个excel文件:

Dataframe保存新文件

直接把dataframe格式的数据保存到多个sheet页程序如下:

excel_file = "导出excel文件.xlsx"
if os.path.exists(excel_file):os.remove(excel_file)# 生成一个新文件
with pd.ExcelWriter(excel_file) as writer:pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="sheet1")pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="sheet2")pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="sheet3")

追加写入:

首先需要指定使用openpyxl,然后使用pd.ExcelWriter(excel_file, engine='openpyxl', mode='a')打开文件,在文件中直接追加即可:

with pd.ExcelWriter(excel_file, engine='openpyxl', mode='a') as writer:pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="追加sheet1")pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="追加sheet2")

完整示例

import pandas as pd
import numpy as np
import osdef main():excel_file = "导出excel文件.xlsx"if os.path.exists(excel_file):os.remove(excel_file)# 生成一个新文件with pd.ExcelWriter(excel_file) as writer:pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="sheet1")pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="sheet2")pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="sheet3")# 在已有的文件中添加with pd.ExcelWriter(excel_file, engine='openpyxl', mode='a') as writer:pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="追加sheet1")pd.DataFrame(np.random.random(size=(5, 5))).to_excel(writer, sheet_name="追加sheet2")if __name__ == '__main__':main()

http://www.ppmy.cn/news/1350250.html

相关文章

第66讲管理员登录功能实现

项目样式初始化 放assets目录下; border.css charset "utf-8"; .border, .border-top, .border-right, .border-bottom, .border-left, .border-topbottom, .border-rightleft, .border-topleft, .border-rightbottom, .border-topright, .border-botto…

使用R语言建立回归模型并分割训练集和测试集

通过简单的回归实例&#xff0c;可以说明数据分割为训练集和测试集的必要性。以下先建立示例数据: set.seed(123) #设置随机种子 x <- rnorm(100, 2, 1) # 生成100个正态分布的随机数&#xff0c;均值为2&#xff0c;标准差为1 y exp(x) rnorm(5, 0, 2) # 生成一个新的变…

ubuntu彻底卸载cuda 重新安装cuda

sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" \"*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*" cuda10以上 cd /usr/local/cuda-xx.x/bin/ s…

今日JAVA小练习之复制数组

题目描述 将两个有序数组按照大小顺序复制成一个数组 实现思路 创建新的数组&#xff0c;长度为要复制的两个数组长度之和定义3个初始变量i,p1,p2在循环中依次比较两个数组中元素大小&#xff0c;小的放入新数组若p1小于ns1的长度&#xff0c;则说明在上面while循环中ns1的元…

[office] Excel2019函数MAXIFS怎么使用?Excel2019函数MAXIFS使用教程 #知识分享#微信#经验分享

Excel2019函数MAXIFS怎么使用&#xff1f;Excel2019函数MAXIFS使用教程 Excel2019函数MAXIFS怎么使用&#xff1f;这篇文章主要介绍了Excel2019函数MAXIFS使用教程,需要的朋友可以参考下 在今年&#xff0c;Excel除了新版本Excel2019&#xff0c;其中有一个新功能MAXIFS函数&am…

【Linux学习】线程详解

目录 十八.多线程 18.1 线程与进程 18.2 内核视角看待创建线程与进程 18.3 线程优缺点总结 线程的优点&#xff1a; 线程的缺点&#xff1a; 线程的用途&#xff1a; 18.4 线程与进程的联系 十九.线程控制 19.1 POSIX线程库 19.2 线程创建 19.3 线程等待 19.4 线程终止 19.5 线…

PaddleDetection学习5——使用Paddle-Lite在 Android 上实现实时的人脸检测(C++)

使用Paddle-Lite在 Android 上实现实时的人脸检测 1 环境准备2. 部署步骤2.1 下载Paddle-Lite-Demo2.2 运行face_detection_demo项目3 使用Opencv对后处理进行优化4 开启手机摄像头进行人脸检测1 环境准备 参考前一篇在 Android 上使用Paddle-Lite实现实时的目标检测功能 2. …

微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源;OpenAI成立儿童安全团队,防AI误用

&#x1f989; AI新闻 &#x1f680; 微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源 摘要&#xff1a;微软和苏黎世联邦理工学院研究人员开源了SliceGPT&#xff0c;通过对大模型的权重矩阵进行压缩切片&#xff0c;实现了模型紧缩&#xff0c;节省了部…