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.访问单元格值

读取和编辑单个单元格

访问单个电子表格单元格的值时,需要从其 "工作表 "中检索所需的单元格,如下图所示:

# 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 对象都管理着一个与 Excel 工作表中每个单元格值相对应的 Cell 对象索引。在上面的源代码中,我们通过行和列的索引来引用所需的单元格 (本例中的单元格 B1) 使用标准数组索引语法。

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

# 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 "类表示一个由 "单元格 "对象组成的二维集合。该集合指的是 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。