
Pandas 读取 Excel 替代方案(不使用 Interop) | IronXL for Python
Excel 文件在数据分析和处理任务中无处不在,为存储和组织表格数据提供了一种便捷的方式。 在 Python 中,有多个库可用于读取 Excel 文件,每个库都有自己的一组特性和功能。 Pandas 和 IronXL 是两个比较突出的选择,它们都提供了在 Python 中读取 Excel 文件的有效方法。
在本文中,我们将比较Pandas和IronXL在 Python 中读取 Excel 文件的功能和性能。
Pandas - 开源库
Pandas是一个功能强大的 Python 开源数据分析和处理库。 它引入了 DataFrame 数据结构,这是一种二维带标签的数据结构,其列可以包含不同类型的数据。Pandas 提供了丰富的数据操作功能,包括从各种数据源(例如 CSV 文件、SQL 数据库和 Excel 文件)读取和写入数据。
Pandas 的一些主要特性包括:
数据框
Pandas 引入了 DataFrame 数据结构,它本质上是一个二维带标签的数据结构,其列可以包含不同类型的数据。它类似于电子表格或 SQL 表,因此可以轻松地对表格数据执行筛选、分组和聚合等操作。
数据处理
Pandas 提供了广泛的数据操作功能,包括合并、重塑、切片、索引和透视数据。 这些操作使用户能够高效地清理、转换和准备数据,以便进行分析或可视化。
时间序列功能
Pandas 为处理时间序列数据提供了强大的支持,包括日期/时间索引和重采样工具,以及处理缺失数据和时区转换的便捷方法。
与库集成
Pandas 可以与数据分析和科学计算中常用的各种 Python 库无缝协作,包括 NumPy、Matplotlib 和 Scikit-learn。 这种互操作性使用户能够在单个分析工作流程中利用不同库的优势。
总的来说,Pandas 是 Python 中用于数据操作和分析的强大工具,它被广泛应用于金融、经济、生物学和社会科学等各个领域。
IronXL - Python Excel 库
IronXL是一个专门用于处理 Excel 文件的 Python 库。 它提供了一个直观的 API,用于在 Python 中读取、写入和操作 Excel 文档。 IronXL 旨在通过提供简单明了的界面并消除对 Microsoft Excel 或 Excel Interop 等外部依赖项的需求,来简化 Excel 文件操作。
IronXL 的一些主要功能如下:
直观的 Python 3+ Excel 文档 API
IronXL 提供了一个直观且易于使用的 Python 3+ Excel 文档 API,使开发者能够无缝读取、编辑和创建 Excel 电子表格文件。
跨平台支持
IronXL 专为 Python 3+ 设计,并兼容 Windows、Mac、Linux 和云平台,确保部署环境的灵活性。
无需 Microsoft Office 或 Excel 互操作
开发人员无需安装 Microsoft Office 或处理 Excel Interop 即可在 Python 中处理 Excel 文件,从而简化集成过程并最大限度地减少依赖项。
兼容性
支持在包括 Microsoft Windows、macOS、Linux、Docker、Azure 和 AWS 在内的各种操作系统上运行的 Python 3.7+。 兼容 JetBrains PyCharm 等主流 IDE 以及其他 Python IDE。
多功能工作簿处理
创建、加载、保存和导出各种格式的电子表格,包括 XLS、XLSX、XSLT、XLSM、CSV、TSV、JSON、HTML、二进制和字节数组。
强大的工作表编辑功能
编辑元数据、设置权限和密码、创建和删除工作表、操作工作表布局、处理图像等等。
先进蜂窝范围操作
对单元格区域执行各种操作,例如排序、修剪、清除、复制、查找和替换值、设置超链接以及合并和取消合并单元格。
柔性细胞造型
自定义单元格样式,包括字体、大小、边框、对齐方式和背景图案,并应用条件格式。
数学函数和数据格式
利用平均值、总和、最小值和最大值等数学函数,并设置单元格数据格式,包括文本、数字、公式、日期、货币、科学计数法、时间、布尔值和自定义格式。
使用 PyCharm 创建 Python 项目
首先,您的计算机上需要安装 Python。请从Python 官方网站安装最新版本的 Python 3.x。 安装 Python 时,请确保选择将 Python 添加到系统 PATH 的选项,以便从命令行访问。
为了演示 Pandas 和 IronXL 在读取 Excel 文件方面的功能,让我们使用 PyCharm(一个流行的 Python 集成开发环境 (IDE))创建一个 Python 项目。
-
打开 PyCharm 并创建一个新的 Python 项目。

-
按如下方式配置项目: 给项目命名。 在这种情况下," pythonReadExcel "
- 选择项目的理想位置
- 选择解释器类型:项目虚拟环境
- 选择 Python 版本

-
点击"创建"按钮创建项目。
使用 pip 安装 Pandas 和 IronXL
安装 Pandas
要在您的项目中安装 Pandas,您可以按照以下步骤操作:
-
打开命令提示符或终端: 在PyCharm中,从View->Tool Windows->Terminal。

-
通过pip安装Pandas: 可以使用pip包管理器安装Pandas。 在终端中运行以下命令:
pip install pandasSHELL此命令从 Python 包索引 (PyPI) 安装 Pandas 库及其依赖项。

-
通过pip安装OpenPyXL: OpenPyXL是帮助读写Excel文件的库。 它是 Pandas 使用的依赖项之一。 安装 Pandas 时,如果尚未安装 OpenPyXL,则会自动安装。 如果软件未安装,您可以使用以下命令在终端中进行安装:
pip install openpyxlSHELL
安装IronXL
要在 Python 项目中安装 IronXL,请按照以下步骤操作:
-
确保先决条件: 在安装IronXL之前,请确保您的系统上安装了必要的先决条件。
.NET 6.0 SDK: IronXL依赖于IronXL .NET库,即.NET 6.0,作为其底层技术。 请确保您的计算机上已安装 .NET 6.0 SDK。您可以从.NET 官方网站下载。
-
打开命令提示符或终端: 和以前一样操作。
-
通过pip安装IronXL: 可以使用pip包管理器安装IronXL。 执行以下命令:
using Pandas 的**read_excel()**函数时,您可以根据需要指定多个显示选项:
-
header: 指定Excel文件中的哪一行用作列名。 您可以将其设置为None以表示没有标题行,或者您可以提供一个整数来表示行号。 如果跳过,则默认将标题设置为 True,并且第一行位置将显示为标题行标签。
-
index_col: 指定用作DataFrame索引的列或列。 您可以传递单个列名或列索引,也可以传递列名或列索引列表来创建多索引。
-
sheet_name: 指定从Excel文件中读取的工作表。您可以提供工作表名作为字符串或者一个表示从零开始的工作表位置的整数。
-
usecols: 指定从Excel文件中读取的列。您可以传递单个列名称或列索引,或者传递列名称列表或列索引来读取特定的列。
-
dtype: 指定列的数据类型。 您可以传递一个字典,其中键是列名称或列索引,值是所需的数据类型。
-
converters: 指定应用于列的自定义解析函数。 你可以传递一个字典,其中键是列名或列索引,值为函数。
-
na_values: 指定识别为NaN(非数字)值的其他字符串。 您可以传递一个字符串列表,这些字符串将被处理成 NaN 值。
-
parse_dates: 指定解析为日期的列。 您可以传递单个列名或列索引,也可以传递要解析为日期的列名或索引列表。
-
date_parser: 指定用于解析日期的函数。 你可以传递一个接受字符串并返回日期时间对象的函数。
-
skiprows: 指定在Excel文件开始处要跳过的行数。
这些选项在使用 Pandas 读取 Excel 文件时提供了灵活性,允许您根据具体要求自定义读取过程。
步骤 2
显示数据框的内容。
print(df)
这是上面代码的输出:

使用 IronXL
**步骤 1:导入 IronXL 库,并使用WorkBook.Load()**方法加载 Excel 文件。在 Load 方法的参数中,您可以传递有效的文件 URL、本地文件路径对象,或者如果文件与脚本位于同一目录中,则可以传递文件名。
from ironxl import WorkBook
# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
**步骤 2:**使用 IronXL,您可以访问多个工作表并打印列标签。 访问工作表和单元格以读取列中存储的数据。 单元格可以是任何数据类型,例如数值列或字符串列。 可以通过使用 IntValue 属性将字符串列解析为数值,从而将单元格值转换为整数,反之亦然。
# Access the first worksheet
worksheet = workbook.DefaultWorkSheet
# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)
# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
print(f"Cell {cell.AddressString} has value '{cell.Text}'")
以下是上述代码的输出结果,采用正确的显示格式,充分展现了 IronXL 的多功能性:

有关使用 Excel 文件的更多信息,请访问此代码示例页面。
结论
总之,Pandas 和IronXL都为在 Python 中读取 Excel 文件提供了高效的方法。 然而,IronXL 比 Pandas 具有几个优势,尤其是在易用性、性能和专门的 Excel 处理功能方面。 IronXL 直观的 API 和全面的功能使其成为需要大量 Excel 处理任务的项目的上乘选择。
此外,IronXL 无需 Microsoft Excel 或 Excel Interop 等外部依赖项,简化了开发过程,并增强了跨不同平台的可移植性。 因此,对于寻求强大而高效的 Excel 文件操作解决方案的 Python 开发人员来说,IronXL 成为首选,与 Pandas 相比,它提供了更好的功能和更强大的特性。 有关 IronXL 的更多详细信息,请访问此文档页面。
IronXL 提供免费试用版,供您测试其功能和是否适用于您的 Python 项目。 本次试用允许开发者在无需预先支付任何费用的情况下,探索 IronXL 提供的全部功能和特性。 无论您是考虑使用 IronXL 进行数据导入/导出任务、生成报告还是进行数据分析,免费试用版都提供了一个评估其性能和是否适合您特定需求的机会。
有关许可选项的更多信息以及下载免费试用版,请访问 IronXL 网站的许可页面。 在这里,您可以找到有关许可条款的详细信息,包括商业用途和支持选项。 要开始使用 IronXL 并亲身体验其优势,请从这里下载库。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章



