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

使用 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.lryc.cn/news/478323.html

相关文章:

  • 驱动-----dht11温湿度传感器
  • Docker 基础命令简介
  • 嵌入式开发之静态库和共享库
  • 关于npm源的切换及相关操作
  • vue前端sku实现
  • 使用Vue3和Vue2进行开发的区别
  • 爬虫入门urllib 和 request(二)
  • 【大数据学习 | HBASE】hbase的整体架构
  • 群控系统服务端开发模式-应用开发-个人资料
  • openssl生成加密,公钥实现非对称加密
  • [CKS] K8S Admission Set Up
  • 前端学习Day13 CSS盒子的定位(固定定位篇“附练习”)
  • Tomcat 启动卡住,日志显示 At least one JAR was scanned for TLDs yet contained no TLDs.
  • 计算机网络:网络层 —— 移动 IP 技术
  • useCrudSchemas
  • SpringBoot3集成Junit5
  • 【EMNLP2024】阿里云人工智能平台 PAI 多篇论文入选 EMNLP2024
  • Spark的Shuffle过程
  • Java+Swing可视化图像处理软件
  • RDD转换算子:【mapValues、mapPartitions】
  • 数组和指针的复杂关系
  • Linux系统I/O调优实例
  • 记录Ubuntu OS的异常
  • Vue 3 单元测试与E2E测试
  • 猫用空气净化器哪个牌子好?求除毛好、噪音小的宠物空气净化器!
  • 第十九课 Vue组件中的方法
  • 【JavaScript】V8,Nodejs 与浏览器
  • 内存马浅析
  • 聊一聊Elasticsearch的基本原理与形成机制
  • 应急救援无人车:用科技守护安全!