当前位置: 首页 > article >正文

使用 pd.ExcelWriter 创建多工作表 Excel 文件的详细教程

with pd.ExcelWriter(...) as writer 可以将多个内容写入一个 Excel 文件中。具体地说,它创建了一个Excel 文件写入器,使得我们可以在一个文件中创建多个工作表(Sheet)。



with pd.ExcelWriter("模型指标和损失值.xlsx") as writer:
    metrics_df.to_excel(writer, sheet_name="Metrics", index=False)
    losses_df.to_excel(writer, sheet_name="Losses", index=False)


with pd.ExcelWriter(...) as writer 详解

1. pd.ExcelWriter("模型指标和损失值.xlsx")
  • pd.ExcelWriter 是 Pandas 提供的类,用于将数据写入 Excel 文件(.xlsx 格式)。
  • "模型指标和损失值.xlsx" 是要保存的 Excel 文件的名称。在运行代码时会创建这个文件,如果文件已存在,会覆盖原内容。
  • 通过 pd.ExcelWriter,我们可以在同一个 Excel 文件中创建不同的工作表(sheet)。
2. with 语句的作用
  • with ... as writer: 表示以上下文管理的方式使用 ExcelWriter,可以确保写入操作完成后自动关闭文件。
  • 上下文管理的方式 (with) 可以有效管理文件资源,防止文件写入后忘记关闭导致的数据损坏。
3. writer 的作用
  • writerpd.ExcelWriter 实例的句柄,用于控制文件写入过程。
4. to_excel(writer, sheet_name="Metrics", index=False)
  • metrics_df.to_excel(writer, sheet_name="Metrics", index=False)metrics_df 数据写入到 writer 所指定的 Excel 文件的 "Metrics" 工作表中。
  • sheet_name="Metrics" 表示创建的工作表名称为 "Metrics"
  • index=False 表示不将数据框的索引写入 Excel 表中。
5. to_excel(writer, sheet_name="Losses", index=False)
  • losses_df.to_excel(writer, sheet_name="Losses", index=False)losses_df 数据写入到 Excel 文件的 "Losses" 工作表中。
  • 因此,最终的 Excel 文件将有两个工作表,一个名为 "Metrics",另一个名为 "Losses",每个工作表分别包含 metrics_dflosses_df 的数据。

代码示例解释

import pandas as pd

# 示例数据
metrics_df = pd.DataFrame({"MSE": [0.1], "RMSE": [0.3], "MAE": [0.2], "R2 Score": [0.9]})
losses_df = pd.DataFrame({"Epoch": list(range(1, 101)), "Train Loss": [0.5] * 100, "Test Loss": [0.6] * 100})

# 使用 pd.ExcelWriter 写入多个工作表
with pd.ExcelWriter("模型指标和损失值.xlsx") as writer:
    metrics_df.to_excel(writer, sheet_name="Metrics", index=False)  # 创建 Metrics 工作表
    losses_df.to_excel(writer, sheet_name="Losses", index=False)    # 创建 Losses 工作表

# 输出结果
print("Excel 文件已创建,包含两个工作表:'Metrics' 和 'Losses'。")

运行结果

此代码将创建一个名为 "模型指标和损失值.xlsx" 的 Excel 文件,包含两个工作表:

  • "Metrics":包含 metrics_df 的数据(例如模型的 MSE、RMSE、MAE、R² 等)。
  • "Losses":包含 losses_df 的数据(例如每个 epoch 的训练损失和测试损失)。

这样可以在一个文件中查看多个内容,便于分析和共享。


http://www.kler.cn/a/387553.html

相关文章:

  • 【智谱开放平台-注册/登录安全分析报告】
  • linux,1.NFS和autofs,2.podman容器,3.http服务和虚拟web主机,4.内网DNS服务搭建
  • 【入门篇】A+B Problem——多语言版
  • 海外云手机在出海业务中的优势有哪些?
  • qt QFrame详解
  • openai Realtime API (实时语音)
  • JAVA中的string和stringbuffer
  • SQL进阶技巧:如何计算复合增长率?
  • 如何在Python中实现一个简单的搜索引擎:从零开始的指南
  • Vue中父组件通过v-model向子组件传对象参数
  • 图像识别算法优化:提升识别精度与速度
  • 记一次文件包含刷题(伪协议篇)
  • Leetcode 买卖股票的最佳时机 Ⅱ
  • 思考:linux Vi Vim 编辑器的简明原理,与快速用法之《 7 字真言 》@ “鱼爱返 说 温泉哦“ (**)
  • 华为云计算知识总结——及案例分享
  • kaggle学习 eloData项目(2)-数据清洗
  • C/C++中预处理器指令有哪些,举例说明其用途。
  • 2.索引:SQL 性能分析详解
  • Intel AMT技术在服务器硬件监控中的应用与解读
  • C语言--结构体详解
  • Ubuntu下如何管理多个ssh密钥
  • OSPF总结
  • Django 详细入门介绍
  • 使用Rust实现http/https正向代理
  • 动态规划 —— dp 问题-买卖股票的最佳时机含手续费
  • linux opp 模块