如何使用IronXL在Python中读取Excel文件
本指南为Python开发者提供了如何使用IronXL库来读取和编辑Microsoft Excel文档的分步指导。
IronXL 是一个全面的 Excel 文件处理库,支持多种编程语言,包括 .NET 和 Python 编程语言。 本教程专注于使用 Python 脚本中的 IronXL 来读取和编辑 Microsoft Excel 文档。
有关如何在 .NET 应用程序中读取和编辑 Microsoft Excel 文档的单独教程,请参阅以下链接。
使用 IronXL for Python 软件库在 Python 中读取和创建 Excel 文件很容易。
概述
如何用 Python 读取 Excel 文件
- 下载 Python 库以读取 Excel 文件
- 加载并读取 Excel 文件(工作簿)
- 以 CSV 或 XLSX 格式创建 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")
每个WorkBook
可以有多个WorkSheet
对象。 每一个代表Excel文档中的一个单独的Excel工作表。 使用WorkBook.GetWorkSheet
方法来获取特定Excel工作表的引用。
# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
创建新的Excel文档
要创建一个新的 Excel 文档,构造一个新的WorkBook
对象,并使用有效的文件类型。
# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
注意:使用ExcelFileFormat.XLS
来支持旧版本的Microsoft Excel(95及更早版本)。
向Excel文档添加工作表
如前所述,IronXL for Python WorkBook
包含一个或多个 WorkSheet
的集合。
要创建新的工作表,请调用WorkBook.CreateWorkSheet
并传入工作表的名称。
workSheet = workBook.CreateWorkSheet("GDPByCountry")
3.访问单元格值
读取和编辑单个单元格
通过从其WorkSheet
中检索所需的单元格,可以访问单个电子表格单元格的值,如下所示:
# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet
# Access cell B1 in the worksheet
cell = worksheet["B1"]
IronXL for Python 的Cell
类表示 Excel 电子表格中的单个单元格。 它包含属性和方法,使用户能够直接访问和修改单元格的值。
每个WorkSheet
对象管理一个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)
读取和写入一系列单元格的值
Range
类表示一个二维的 Cell
对象集合。 此集合指的是Excel单元格的字面范围。 通过在WorkSheet
对象上使用字符串索引器来获取范围。
参数文本可以是单个单元格的坐标(例如,之前所示的“A1”)或是从左到右从上到下的单元格范围(例如,“B2:E5”)。 也可以在WorkSheet
上调用GetRange
。
# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
向电子表格添加公式
使用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}"
摘要
IronXL.Excel 是一个独立的 Python 库,用于读取多种电子表格格式。 它不需要安装Microsoft Excel,并且不依赖于Interop。