pandas dataframe写入excel的多个sheet页面

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

Dataframe保存新文件

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

py 复制代码
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')打开文件,在文件中直接追加即可:

py 复制代码
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")

完整示例

py 复制代码
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()
相关推荐
SunnyDays101114 小时前
Python操作Excel批注:从基础添加到高级自定义的完整指南
开发语言·python·excel
Eiceblue17 小时前
Python 操作 Excel:数据分组、分类汇总与取消分组全解
开发语言·python·excel
城数派18 小时前
2026年500米分辨率DEM地形数据(全球/全国/分省/分市)
数据库·arcgis·信息可视化·数据分析·excel
SunnyDays101119 小时前
Python 操作 Excel 超链接:添加网页、文件、工作表和图片链接
python·excel
专注VB编程开发20年21 小时前
我制作excel工作簿的选项卡,发给deep seek, 昨天修改了一天
前端·vue.js·excel
星越华夏2 天前
python办公自动化,csv文件/excel文件差集合并
开发语言·python·excel
开开心心就好2 天前
180套模板的图片艺术拼接实用工具
linux·服务器·网络·spring·智能手机·maven·excel
仰望.2 天前
vxe-table 导出 Excel 进阶教程:自定义样式与高级功能
前端·javascript·vue.js·excel·vxe-table·vxe-ui
Access开发易登软件3 天前
Access 和 SQLite,根本不在一个赛道上
java·jvm·数据库·sqlite·excel·vba·access开发
威尔逊·柏斯科·希伯理3 天前
机器学习第一天(共12天)
人工智能·python·机器学习·conda·numpy·pandas·matplotlib