使用 IRONXL FOR PYTHON

如何使用Python合并Excel文件中的单元格

查克尼特·宾
查克尼特·宾
2024年六月6日
分享:

在电子表格操作领域,Excel作为基础工具,以其多种功能满足金融、工程、统计等各个领域的需求。 在 Excel 的众多功能中,合并特定单元格的功能经常被用来增强数据展示和可视化。 在数据管理的动态环境中,有效组织和整合数据至关重要。 Excel 功能多样,是许多专业人士的常用工具。 然而,在以编程方式合并或取消合并 Excel 中的单元格时,Python 成为了一个强大的盟友。 在本文中,我们将探讨如何结合使用Python和类似IronXL的库,简化新Excel文件中合并单元格的过程,从而使用户能够优化他们的数据组织工作流程。

如何使用Python合并Excel文件中的单元格

  1. 安装 IronXL。

  2. 加载现有工作簿。

  3. 选择 Excel 工作表。

  4. 使用合并功能合并特定单元格。

  5. 使用 Unmerge 函数取消 Excel 中单元格的合并。

为什么使用 IronXL?

IronXL 是 Iron Software 开发和维护的一个功能强大的 Python 库。 其主要目的是为在Python应用程序和网站中处理Excel文件(和其他电子表格格式)提供一种直观且高效的方法。 以下是 IronXL 的一些主要功能:

  1. IronXL 允许您从现有 Excel 文件(XLSX、XLS、XLSM、XLTX、CSV 和 TSV)读取数据。 您还可以以编程方式生成新的 Excel 文件并编辑现有文件。

  2. IronXL 可在不同平台上无缝运行,包括 Windows、macOS、Linux、Docker、Azure 和 AWS。 无论您是在本地机器上开发,还是部署到云端,IronXL 都能满足您的需求。

  3. 该库提供了一个易于使用的API用于处理Excel电子表格。 您可以加载工作簿、选择工作表、读取单元格值、应用样式、取消合并单元格,并在无需复杂设置的情况下执行各种操作。

  4. IronXL 允许您通过设置字体属性、背景图案、边框和对齐方式来设计单元格样式。 您可以将单元格值格式化为文本、数字、日期、货币、百分比等。

  5. 您可以使用 Excel 公式,每次编辑工作表时,它们都会重新计算。 对单元格范围进行计算,如求和、求最小值或最大值。

使用 IronXL 合并 Excel 文件中的单元格

开始之前,请确保您已安装 IronXL。 您可以使用 pip 安装:

pip install ironXl
PYTHON

这将在我们的项目中安装 IronXL。

加载 Excel 工作簿

第一步是将 Excel 工作簿载入内存。 我们将加载以下 Excel 文件,并在整个教程中使用它。

如何使用 Python 合并 Excel 文件中的单元格:图 1 - Excel 文件输入

以下代码将在我们的项目中加载现有的工作簿。

from ironxl import *     # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
License.LicenseKey = "IRONSUITE.XYZ.ABC.COM.15796-DEPLOYMENT.TRIAL-5X73V4.TRIAL.EXPIRES.27.MAY.2024";
// WorkBook class
workbook = WorkBook.Load("test_excel.xlsx")
PYTHON

上面的 Python 代码演示了 IronXL 的用法,这是一个用于处理 Excel 文件的库。 从 IronXL 导入必要的模块后,会提供一个许可证密钥来验证库的使用。 您可以从IronXL 网站购买您的免费许可证密钥。 然后使用加载法打开名为 "test_excel.xlsx "的 Excel 工作簿。 该工作簿可能包含各种数据或格式化表单。 通过将其加载到脚本中,您将获得以编程方式操作其内容的能力。 这包括读取数据、修改单元格值或创建全新工作表等任务。 该库支持各种文件格式,包括 XLSX、XLS、XLSM、XLTX、CSV 和 TSV,因此可无缝处理不同类型的 Excel 文件。

选择 Excel 工作表

下一步是选择我们要翻译的工作表。 以下代码将指定 Excel 电子表格。

# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
PYTHON

上面一行从加载的 Excel 工作簿中选择索引为 0 的工作表,并将其分配给变量 worksheet。 在 Excel 中,工作表是工作簿中的单个选项卡,您可以在其中组织和处理数据。 通过引用索引为 0 的工作表,您可以访问工作簿中的第一个工作表,因为 Python 中的索引通常从 0 开始。 这样您就可以执行特定于该工作表的操作,如读取数据、修改单元格值或应用格式化。

合并 Excel 文件中的特定单元格

现在我们已经加载了工作簿并选择了工作表,让我们来定义要合并的特定单元格范围。 在我们选定的工作表中,有一列包含国家名称。 对于某些客户,国家值是相同的,如 "美国"。 我们将在 Excel 中合并单元格,用于这些特定的实例。 以下代码将对特定范围执行合并操作。

worksheet.Merge("E5:E7");
worksheet.Merge("E9:E10");
workbook.Save()
PYTHON

这些代码行使用合并方法来合并选定工作表中的单元格。 第一行合并了 E5 至 E7 范围内的单元格,可能是为了合并国家列中与 "美国 "相关的数据。 同样,第二行将 E9 至 E10 单元格合并,以获得另一组具有相同国家值的数据条目。 合并后,调用保存方法来保存对工作簿所做的更改。 此操作可确保 Excel 文件中保留合并的单元格。

合并方法用于合并一系列单元格。 此操作将合并单元格,但不会擦除任何现有值或数据。 但是,只会显示合并单元格区域中第一个单元格的值。 不过,合并单元格的值仍可在 IronXL 中访问。

在给定的输出中可以看到合并后的单元格。

如何使用Python在Excel文件中合并单元格:图2 - Python合并单元格Excel

检索合并区域

Excel 中的合并区域是指已合并为单个单元格的连续合并单元格块。 通过程序检索合并区域可以识别和处理工作表中的这些区域。 这些信息对于数据分析、格式调整或确保跨合并单元格的准确数据操作等各种任务非常有用。 以下代码将从 Excel 工作表中检索合并区域。

print("Merged Regions are:")
retrieveMergedRegions = worksheet.GetMergedRegions();
for mergedRegion in retrieveMergedRegions:
    print(mergedRegion.RangeAddressAsString);
PYTHON

上面的代码首先打印了一个标头,表示与合并区域相关的输出的开始。 然后,它使用 GetMergedRegions() 方法从指定的工作表中检索所有合并区域,并迭代每个合并区域。 在循环中,它会使用 RangeAddressAsString 将每个合并区域的地址打印为字符串。 这将提供工作表中所有合并区域的清晰列表,有助于在 Excel 文件中识别合并区域,以便进行数据分析、格式调整或有针对性的操作。

之前合并的单元格有

如何使用Python合并Excel文件中的单元格:图3 - 合并区域输出

在 Excel 文件中取消合并单元格

解合并 Excel 文件中的单元格涉及将先前合并的单元格逆转为单个单元格。 要使用 IronXL.Excel 取消合并 Excel 文件中的单元格,可以使用 Unmerge 方法。 以下是具体操作方法:

worksheet.Unmerge("E5:E7")
worksheet.Unmerge("E9:E10")
workbook.Save()
PYTHON

在上述代码片段中,Unmerge 方法用于取消指定范围内单元格的合并,特别是针对 E5:E7 和 E9:E10 范围。这一操作恢复了这些范围内单元格的独立性,允许对其内容进行独立操作。 最后,调用保存方法,以确保在 Excel 工作簿中反映和保留更改。

如何使用 Python 合并 Excel 文件中的单元格:图 4 - 取消合并结果文件

结论

总之,Python 与 IronXL.Excel 的结合简化了 Excel 中合并单元格的任务,增强了数据组织和可视化工作。 IronXL.Excel 具有广泛的功能、丰富的特性和友好的用户界面,使用户能够无缝操作 Excel 文件,从加载工作簿到以编程方式合并特定单元格范围。 IronXL 提供了一个免费试用版供探索以及全面的许可选项,为寻求高效数据管理的 Python 应用程序专业人士提供了有说服力的解决方案。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何在Python中编辑Excel文件
下一步 >
用于 Excel 文件的 Python 包(无需使用 Interop)

准备开始了吗? 版本: 2025.4 刚刚发布

查看许可证 >