与其他组件比较

Pandas读取Excel的替代方案(无需使用Interop)| IronXL for Python

发布 2024年四月3日
分享:

Excel 文件在数据分析和处理任务中无处不在,是存储和组织表格数据的便捷方法。 在 Python 中,有多个库可用于读取 Excel 文件这些工具都有自己的特点和功能。 两个突出的选择是 Pandas 和 IronXL,它们都提供了用 Python 阅读 Excel 文件的高效方法。

在本文中,我们将比较以下几种工具的功能和性能潘达铁XL来用 Python 读取 Excel 文件。

Pandas - 开放源代码库

潘达是一个功能强大的 Python 开源数据分析和处理库。 它介绍了 DataFrame 数据结构,这是一种二维标记数据结构,其中的列可能具有不同的类型。Pandas 提供广泛的数据操作功能,包括从 CSV 文件、SQL 数据库和 Excel 文件等各种来源读写数据。

Pandas 的一些主要功能包括

数据帧

Pandas 引入了 DataFrame 数据结构,它本质上是一种二维标记数据结构,其中的列可能具有不同的类型。它类似于电子表格或 SQL 表格,可以方便地对表格数据执行过滤、分组和聚合等操作。

数据处理

Pandas 提供广泛的数据处理功能,包括合并、重塑、切片、索引和数据透视。 这些操作允许用户高效地清理、转换和准备数据,以便进行分析或可视化。

时间序列功能

Pandas 为处理时间序列数据提供了强大的支持,包括日期/时间索引和重采样工具,以及处理缺失数据和时区转换的便捷方法。

与库集成

Pandas 可以与数据分析和科学计算中经常使用的各种 Python 库无缝协作,包括 NumPy、Matplotlib 和 Scikit-learn。 这种互操作性使用户能够在单一分析工作流程中利用不同库的优势。

总之,Pandas 是一款功能强大的 Python 数据处理和分析工具,广泛应用于金融、经济、生物和社会科学等各个领域。

IronXL- Python Excel 库

铁XL是一个专为处理 Excel 文件而设计的 Python 库。 它提供了一个直观的 API,用于在 Python 中读取、编写和操作 Excel 文档。 IronXL.Excel 的目标是通过提供简单明了的界面简化 Excel 文件操作,并消除对 Microsoft Excel 或 Excel Interop 等外部依赖性的需求。

IronXL 的一些主要功能如下:

直观的 Python 3+ Excel 文档 API

IronXL 提供了 Python 3+ Excel 文档 API,直观易用,允许开发人员无缝读取、编辑和创建 Excel 电子表格文件。

跨平台支持

IronXL 专为 Python 3+ 设计,兼容 Windows、Mac、Linux 和云平台,可确保部署环境的灵活性。

无需 Microsoft Office 或 Excel 互操作

开发人员可以在 Python 中处理 Excel 文件,而无需安装 Microsoft Office 或处理 Excel Interop,从而简化了集成过程并最大限度地减少了依赖性。

兼容性

支持各种操作系统上的 Python 3.7+,包括 Microsoft Windows、macOS、Linux、Docker、Azure 和 AWS。 与 JetBrains PyCharm 和其他 Python IDE 等流行 IDE 兼容。

多功能工作簿处理

创建、加载、保存和导出各种格式的电子表格,包括 XLS、XLSX、XSLT、XLSM、CSV、TSV、JSON、HTML、二进制和字节阵列。

强大的工作表编辑功能

编辑元数据、设置权限和密码、创建和删除工作表、操作工作表布局、处理图像等。

高级单元格范围操作

对单元格区域执行各种操作,如排序、修剪、清除、复制、查找和替换值、设置超链接以及合并和取消合并单元格。

灵活的单元格样式

自定义单元格样式,包括字体、大小、边框、对齐方式和背景图案,并应用条件格式。

数学函数和数据格式

使用平均、求和、最小和最大等数学函数,并设置单元格数据格式,包括文本、数字、公式、日期、货币、科学、时间、布尔和自定义格式。

使用 PyCharm 创建 Python 项目

首先,需要在机器上安装 Python。从官方的*Python 网站***. 安装 Python 时,确保选择将 Python 添加到系统 PATH 选项,以便从命令行访问。

为了演示 Pandas 和 IronXL 读取 Excel 文件的功能,让我们使用 PyCharm(一种流行的集成开发环境)创建一个 Python 项目(IDE)用于 Python。

  1. 打开 PyCharm 并创建一个新的 Python 项目。

    熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 1 - 创建一个新的 PyCharm 项目

  2. 项目配置如下:

    • 为项目命名。 本例中的 "pythonReadExcel"

    • 选择项目所需的位置

    • 选择口译类型:项目译文

    • 选择 Python 版本

      熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 2 - 配置项目名称、解释器类型和 Python 版本

  3. 单击 "创建 "创建项目。

使用 pip 安装 Pandas 和 IronXL

安装 Pandas

要在您的项目中安装 Pandas,可以按照以下步骤进行:

  1. 打开命令提示符或终端:在 PyCharm 中,从 "视图"->"工具窗口"->"终端"。

    熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 3 - 打开终端

  2. 通过 pip 安装 Pandas:可使用 pip 软件包管理器安装 Pandas。 在终端中运行以下命令:
    pip install pandas

此命令从 Python 包索引中安装 Pandas 库及其依赖项(PyPI).

![熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 4 - 安装 Pandas 后的控制台输出](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-4.webp)
  1. 通过 pip 安装 OpenPyXL:OpenPyXL 是帮助读写 Excel 文件的库。 它是 Pandas 使用的依赖项之一。 安装 Pandas 时,如果尚未安装 OpenPyXL,则会自动安装。 如果尚未安装,您可以在终端中使用以下命令进行安装:
pip install openpyxl

安装 IronXL

要在 Python 项目中安装 IronXL,请按照以下步骤操作:

  1. 确保前提条件:安装 IronXL 之前,请确保您的系统已安装必要的先决条件:

    .NET 6.0 SDK:IronXL 依靠 IronXL for .NET 库,特别是 .NET 6.0 作为其底层技术。 确保您的计算机上安装了 .NET 6.0 SDK。您可以从官方.NET 网站.

  2. 打开命令提示符或终端:操作方法与之前相同。

  3. 通过 pip 安装 IronXL:可使用 pip 软件包管理器安装 IronXL。 运行以下命令
pip install IronXL

此命令将从 Python 软件包索引中收集、下载并安装 IronXL 库及其依赖项(PyPI).

熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 5 - 安装 IronXL 后的控制台输出

使用 Pandas 和 IronXL 阅读 Excel 文件

一切准备就绪后,我们将开始使用这两个库读取 Excel 文件。 我们要阅读的 Excel 演示文件有以下值,标题行分别为 Name、Marks 和 Res:

熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 6 - Excel 表单示例

使用 Pandas

步骤 1

导入 Pandas 库并使用 read_excel() 从 Excel 文件中读取列数据的函数。

import pandas as pd
# Read the Excel file
df = pd.read_excel("file.xlsx")
PYTHON

使用 Pandas 的 read_excel 时() 功能,您可以根据需要指定多个显示选项:

header:指定 Excel 文件中的哪一行作为列名。 您可以将其设置为,表示没有标题行,也可以提供一个整数来表示行号。 如果跳过,页眉将设置为 bool 默认值 true,第一行位置将显示为页眉行标签。

index_col:指定使用哪一列或哪几列作为 DataFrame 的索引。 您可以传递单列名称或列索引。 您也可以通过列名或列索引列表来创建 MultiIndex。

sheet_name:指定工作表(s)从 Excel 文件中读取。您可以以字符串形式提供工作表名称,也可以以整数形式提供零索引工作表位置。

usecols:指定从 Excel 文件读取的列。您可以传递单列名称或列索引。 您也可以通过列名或列索引列表来读取特定列。

dtype:指定列的数据类型。 您可以传递一个字典,其中键是列名或列索引,值是所需的数据类型。

转换器:指定应用于列的函数,以进行自定义解析。 您可以传递一个字典,其中键是列名或列索引,值是函数。

na_values:指定要识别为 NaN 的其他字符串(不是数字)价值。 您可以传递一个字符串列表,将其视为 NaN。

parse_dates:指定将哪些列解析为日期。 您可以传递单列名称或列索引。 或者,您也可以通过列名或索引列表来解析日期。

日期解析器:指定用于解析日期的函数。 您可以传递一个接受字符串并返回日期时间对象的函数。

skiprows:指定在 Excel 文件开头跳过的行数。

在使用 Pandas 阅读 Excel 文件时,这些选项提供了灵活性,使您可以根据具体要求定制阅读过程。

第二步

显示 DataFrame 的内容。

print(df)
PYTHON

以下是上述代码的输出结果:

熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 7 - 运行 Pandas 代码的输出结果

使用IronXL

第 1 步: 导入 IronXL 库并使用 WorkBook.Load() 方法来加载 Excel 文件。在加载方法参数中,可以传递有效的文件 URL、本地文件路径对象或文件名(如果文件与脚本位于同一目录)。

from ironxl import WorkBook
# Load the Excel file like object
workbook = WorkBook.Load("file.xlsx")
PYTHON

步骤 2: 使用 IronXL,您可以申请多张纸张,还可以打印列标签。 访问工作表和单元格,读取列中存储的数据。 单元格可以是任何数据类型,如数字列或字符串列。 通过使用 IntValue 属性将字符串列解析为数值,可将单元格值转换为 int,反之亦然。

# Access the first worksheet
# Loads the first sheet from list of int default worksheets
worksheet = workbook.DefaultWorkSheet
# Select a cell and return the converted value
cell_value = worksheet ["A2"].IntValue
print(cell_value)
# Read from the entire worksheet elegantly.
for cell in worksheet:
    print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
PYTHON

以下是上述代码的输出结果,其正确的显示格式展示了 IronXL 的多功能性:

熊猫阅读 Excel 替代软件(不使用互操作)  IronXL for Python:图 8 - IronXL 代码的控制台输出

有关使用 Excel 文件的更多信息,请访问此处代码示例page.

结论

总之,Pandas 和铁XL提供用 Python 阅读 Excel 文件的有效方法。 然而,与 Pandas 相比,IronXL.Excel 具有若干优势,尤其是在易用性、性能和专门的 Excel 处理能力方面。 IronXL.Excel 直观的 API 和全面的功能使其成为需要大量 Excel 操作任务的项目的上佳选择。

此外,IronXL.Excel 无需 Microsoft Excel 或 Excel Interop 等外部依赖项,从而简化了开发流程,增强了跨不同平台的可移植性。 因此,对于寻求稳健高效的 Excel 文件操作解决方案的 Python 开发人员来说,IronXL.Excel 是首选,与 Pandas 相比,它提供了更好的设施和增强的功能。 有关 IronXL 的更多详细信息,请访问此处文件page.

IronXL 提供了一种免费试用您可以在 Python 项目中测试其功能和可行性。 该试用版允许开发人员探索 IronXL 提供的全部特性和功能,而无需预先作出任何财务承诺。 无论您是考虑将 IronXL 用于数据导入/导出任务、报告生成还是数据分析,免费试用版都为您提供了一个评估其性能和是否适合您特定要求的机会。

有关许可选项和下载免费试用版的更多信息,请访问 IronXL 网站的许可页面. 在这里,您可以找到有关许可条款的详细信息,包括商业使用和支持选项。 要开始使用 IronXL 并亲身体验其优势,请从以下网址下载该库*这里***.

< 前一页
OpenpyXL Python与IronXL Python的比较

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

免费下载pip 查看许可证 >