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()
相关推荐
yanlaifan8 小时前
Excel批量处理一列数据---分列功能
excel
悟乙己14 小时前
PySpark 与 Pandas 的较量:Databricks 中 SQL Server 到 Snowflake 的数据迁移之旅
数据库·pandas·pyspark
九章云极AladdinEdu15 小时前
临床数据挖掘与分析:利用GPU加速Pandas和Scikit-learn处理大规模数据集
人工智能·pytorch·数据挖掘·pandas·scikit-learn·paddlepaddle·gpu算力
我命由我123451 天前
Word - Word 的 5 种视图(页面视图、阅读视图、Web 版式视图、大纲视图、草稿视图)
ui·word·excel·photoshop·表格·ps·美工
YAY_tyy1 天前
基于 Vue3 + VueOffice 的多格式文档预览组件实现(支持 PDF/Word/Excel/PPT)
前端·javascript·vue.js·pdf·word·excel
一路向北North1 天前
apache poi 导出复杂的excel表格
apache·excel
toooooop81 天前
Excel随机金额或数字分配方法
excel
cngkqy1 天前
excel中筛选条件,数字筛选和文本筛选相互转换
excel
Hello 0 11 天前
用计算思维“破解”复杂Excel考勤表的自动化之旅
自动化·excel·ai编程·计算思维
万粉变现经纪人1 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘python-dateutil’问题
开发语言·ide·python·pycharm·pandas·pip·httpx