如何将 Pandas DataFrame 写入多个 Excel 工作表?

2025年1月5日 | 阅读 4 分钟

Pandas 是 Python 中一个流行的数据操作库,通过其 DataFrame 结构提供了一种便捷的方式来处理表格数据。一项常见的任务是将这些 DataFrame 导出到 Excel 文件。有时,您可能拥有多个数据框,并希望将每个数据框保存在同一个 Excel 文件中的不同工作表中。幸运的是,Pandas 提供了一种简单的方法来实现这一点。

本文将为您提供成功将 DataFrame 写入多个 Excel 工作表的工具和技术。

前提条件

  • 必须安装并导入 Pandas 库。如果未安装,可以使用 pip 命令进行安装。

可以导入为

  • 我们必须了解 Pandas 库中的数据帧,包括创建数据帧、读取数据创建数据帧、操作数据等方法。

到目前为止,我们已经了解了如何读取数据和使用数据帧。然而,我们的主要目标是将数据帧写入 Excel 工作表。让我们深入探讨一下。

将 Pandas 写入多个 Excel 工作表的方法

此过程有不同方法,包括:

  1. ExcelWriter() 类
  2. to_excel() 函数

ExcelWriter()

Python Pandas 库提供了一个名为 ExcelWriter 的有用类,可以轻松创建 Excel 文件。该类是处理数据的宝贵工具,因为它允许您将多个 DataFrame 写入 Excel 文件中的不同工作表。本质上,ExcelWriter 通过充当容器来利用 Pandas 的功能来简化 Excel 文件的写入过程。

它提供了一个 xlsxwriter() 方法来帮助以 xlsx 格式写入 Excel 文件。它可以写入链接、数字、文本以及许多其他内容。此外,它还提供 xlsx 文件格式设置,包括转换单元格名称、设置值、创建图表、添加注释等等。

语法

  • path: 它提供了要创建的 Excel 工作表的路径,用于添加数据帧。
  • Engine: 它表示用于创建 Excel 工作表的引擎类型。默认情况下,它设置为 xlsxwriter。这是一个可选参数。
  • Mode: 它表示我们需要将数据添加到 Excel 文件中的模式类型。它可以是 append(a)或 write(w)模式。

我们可以将 date_format、storage_options 等其他参数添加到此方法中,以提供对数据帧的更多清晰度。

因此,它创建了一个对象,用于将数据帧从 Pandas 写入多个 Excel 工作表,并结合使用 to_excel() 函数。它使用 ExcelWriter() 类创建一个新的 Excel 工作表。基本上,ExcelWriter() 类用于将数据添加到多个工作表中。

to_excel() 函数

要在 Pandas 中将 DataFrame 保存到 Excel 文件,to_excel 函数至关重要。它提供了一种简单的方法将 DataFrame 的内容导出到 Excel 电子表格,让您可以以有序且全面的方式存储和组织数据。使用此函数,您可以根据自己的喜好自定义输出格式,例如工作表名称、数据类型格式、索引和标题可见性以及位置,此外还可以选择文件名和位置。通过使用 to_excel 功能,您可以有效地与他人共享您的数据,并将您的数据分析工作流程与支持 Excel 文件格式的其他应用程序(如 Google Sheets 和 Microsoft Excel)集成。

语法

让我们通过 Python 中的一个示例来理解这个概念

输出

DataFrame 1:
    D   E   F
A  88  12  55
B  14  81   0
C  58  66   7

DataFrame 2:
   A  D  N
C  1  2  0
B  4  3  5
P  6  7  9

How to Write Pandas DataFrames to Multiple Excel Sheets
How to Write Pandas DataFrames to Multiple Excel Sheets

我们创建了两个数据帧,并使用 ExcelWriter() 类创建了一个对象 obj。然后,使用 to_excel() 函数,我们将数据帧添加到了不同的 Excel 工作表中。

结论

Pandas 简化了将多个 DataFrame 写入 Excel 文件中的不同工作表的流程。通过使用 ExcelWriter 类和 to_excel() 方法,您可以高效地组织和存储各种数据集到 Excel 文件中,以供分析或共享。