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()
相关推荐
大数据魔法师16 小时前
基于Pandas和FineBI的昆明职位数据分析与可视化实现(五) - 基于随机森林算法预测职位分类
算法·pandas
Tomorrow'sThinker18 小时前
[特殊字符] Python 批量生成词云:读取词频 Excel + 自定义背景 + Excel to.png 流程解析
python·excel
UrbanJazzerati1 天前
Excel 使用中的“坑”:拆分与合并列的陷阱及解决方案
excel
KeThink1 天前
国民经济行业分类 GB/T 4754—2017 (PDF和exce版本)
pdf·excel
_oP_i1 天前
Excel 的多线程特性
excel
V1ncent Chen2 天前
Excel基础:数据查看
excel
Chasing__Dreams2 天前
python--杂识--18.1--pandas数据插入sqlite并进行查询
python·sqlite·pandas
谁他个天昏地暗2 天前
Java 实现 Excel 文件对比与数据填充
java·开发语言·excel
梦想blog2 天前
Spring Boot + Easy Excel 自定义复杂样式导入导出
excel
UrbanJazzerati3 天前
使用Excel制作多类别占比分析字母饼图
excel