Python 读取 Excel 文件教程

This article was translated from English: Does it need improvement?
Translated
View the article in English

本指南为Python开发者提供了如何使用IronXL库来读取和编辑Microsoft Excel文档的分步指导。

IronXL是一个全面的Excel文件处理库,支持多种编程语言,包括.NETPython编程语言。 本教程专注于使用 Python 脚本中的 IronXL 来读取和编辑 Microsoft Excel 文档。

有关如何在 .NET 应用程序中读取和编辑 Microsoft Excel 文档的单独教程,请参考以下内容。这里.

使用 IronXL for Python 软件库在 Python 中读取和创建 Excel 文件很容易。


概述


教程

步骤1:在您的Python项目中添加IronXL作为依赖项

要将IronXL库集成到您的Python项目中,您必须使用广泛使用的Python包管理工具pip将其安装为依赖项。 打开终端并执行以下命令:

pip install IronXL

这将在您的项目中安装指定版本的IronXL,使其可供导入。

请注意
IronXL for Python 依赖于 IronXL .NET 库,特别是 .NET 6.0,作为其底层技术。 因此,有必要拥有.NET 6.0 SDK才能使用 IronXL for Python。


2. 加载一个Excel工作簿

WorkBook 类代表一个 Excel 工作表。 要打开一个Excel文件,我们使用WorkBook.Load方法,指定Excel文件的路径。

# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
PYTHON

每个WorkBook可以有多个WorkSheet对象。 每一个代表Excel文档中的一个单独的Excel工作表。 使用 WorkBook.GetWorkSheet 方法来检索对特定 Excel 工作表的引用。

# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
PYTHON

创建新的Excel文档

要创建一个新的Excel文档,请使用有效的文件类型构造一个新的WorkBook对象。

# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
PYTHON

注意:使用 ExcelFileFormat.XLS 支持 Microsoft Excel 的旧版本(95 及更早).

向Excel文档添加工作表

如前所述,IronXL for Python 的 WorkBook 包含一个或多个 WorkSheet

这就是 Excel 中包含两个工作表的工作簿的样子。

这就是 Excel 中包含两个工作表的工作簿的样子。

要创建新的工作表,请使用工作表的名称调用 WorkBook.CreateWorkSheet

workSheet = workBook.CreateWorkSheet("GDPByCountry")
PYTHON

3.访问单元格值

读取和编辑单个单元格

要访问单个电子表格单元格的值,可通过从其WorkSheet检索所需单元格来进行,如下所示:

# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet

# Access cell B1 in the worksheet
cell = worksheet["B1"]
PYTHON

IronXL for Python 的 Cell 类代表 Excel 电子表格中的一个单元格。 它包含属性和方法,使用户能够直接访问和修改单元格的值。

每个WorkSheet对象管理着一个Cell对象的索引,这些Cell对象对应于Excel工作表中的每个单元格的值。 在上面的源代码中,我们通过其行和列索引引用所需的单元格。(本例中的单元格 B1)使用标准数组索引语法。

通过引用单元格对象,我们可以读取和写入电子表格单元格中的数据:

# Access cell B1 in the worksheet
cell = workSheet["B1"]

# Read the value of the cell as a string
value = cell.StringValue
print(value)

# Write a new value to the cell
cell.Value = "10.3289"
print(cell.StringValue)
PYTHON

读取和写入一系列单元格的值

Range 类代表了一个二维的 Cell 对象集合。 此集合指的是Excel单元格的字面范围。 使用 WorkSheet 对象上的字符串索引器获取范围。

参数文本是单元格的坐标(例如 "A1",如前所示)或从左到右从上到下的单元格跨度(例如:"B2:E5"). 也可以在WorkSheet上调用GetRange

# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
PYTHON

向电子表格添加公式

使用 Formula 属性设置 Cell 的公式。

以下代码遍历每个状态,并在C列中放置百分比总计。

# Iterate through all rows with a value
for y in range(2, i):
    # Get the C cell
    cell = workSheet[f"C{y}"]
    # Set the formula for the Percentage of Total column
    cell.Formula = f"=B{y}/B{i}"
PYTHON

摘要

IronXL.Excel 是一个独立的 Python 库,用于读取多种电子表格格式。 它不需要微软Excel安装,而不依赖于 Interop。