pandas dataframe写入excel的多个sheet页面

news/2024/7/21 4:30:28 标签: pandas, excel

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 os


def 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.niftyadmin.cn/n/5370124.html

相关文章

fastapi mysql 开发restful 3

pip install mysql-connector-python pymysql 数据库链接 创建src目录,里面创建db.py 代码如下: # 导入mysql.connector模块,该模块提供了与MySQL数据库进行连接和交互的功能。 import mysql.connector # 定义一个函数get_db_connectio…

寒假 day7

1.现有文件test.cltest1.clmain.c,请编写Makefile CCgcc EXEa.out#patsubst : 把 .c 替换成 .o #wildcard :收集所有的 .c OBJS$(patsubst %.c,%.o,$(wildcard *.c )) CFLAGS-c -oall:$(EXE) $(EXE):$(OBJS)$(CC) $^ -o $#当%表示test时 test.o:test.c #当%表示1…

在Python中的闭包是什么

目录 1. 闭包的定义 2. 如何形成闭包 3. 闭包的工作原理 4. 使用场景 5. 注意事项 代码示例 总结 闭包(Closure)在Python中是一个非常有趣且强大的概念,它允许数据隐藏和封装,同时提高了代码的模块性和重用性。本文将从以下…

HTML+CSS:全景轮播

效果演示 实现了一个简单的网页布局,其中包含了五个不同的盒子,每个盒子都有一个不同的背景图片,并且它们之间有一些间距。当鼠标悬停在某个盒子上时,它的背景图片会变暗,并且文字会变成白色。这些盒子和按钮都被放在一…

创建本地yum源并安装tree命令(openEuler-20.03-LTS-SP3)

步骤 1:下载ISO镜像 首先,您需要从提供的URL下载ISO镜像文件: cd /opt wget https://mirrors.dotsrc.org/openeuler/openEuler-20.03-LTS-SP3/ISO/x86_64/openEuler-20.03-LTS-SP3-x86_64-dvd.iso步骤 2:挂载ISO镜像 接下来&am…

SQL,HQL刷题,尚硅谷

目录 相关表数据: 题目及思路解析: 汇总分析 1、查询编号为“02”的课程的总成绩 2、查询参加考试的学生个数 分组 1、查询各科成绩最高和最低的分,以如下的形式显示:课程号,最高分,最低分 2、查询每门课程…

设计模式(行为型模式)观察者模式

目录 一、简介二、观察者模式2.1、事件接口及其实现2.2、观察者接口及其实现2.3、主题接口及其实现2.4、使用 三、优点与缺点 一、简介 观察者模式(Observer Pattern)是一种行为设计模式,它定义了一种一对多的依赖关系,当一个对象…

[145] 二叉树的后序遍历 js

题目描述:给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 解题思路: 迭代法: 后序(左右根) 先序是根左右 后序是左右根 后序翻转一下就是 根右左 所以后序的结果实际就是 先序的方法&#xff0…