與其他組件比較

Pandas 讀取 Excel 的替代方案(不使用 Interop)| IronXL for Python

發佈 2024年4月3日
分享:

Excel 文件在數據分析和處理任務中無處不在,提供了一種存儲和組織表格數據的便捷方式。在 Python 中,有多個可用的庫來 閱讀 Excel 文件,各有自己的一套功能和特性。其中兩個突出的選項是Pandas和IronXL,它們都提供了有效的方法來在Python中讀取Excel文件。

在本文中,我們將比較這兩者的功能和性能 PandasIronXL 在Python中讀取Excel文件。

Pandas - 開源庫

Pandas 是一個強大的開源數據分析和操作庫,適用於Python。它引入了DataFrame數據結構,這是一個帶標籤的二維數據結構,具有可能不同類型的列。Pandas提供了廣泛的數據操作功能,包括從各種來源讀寫數據,如CSV文件、SQL數據庫和Excel文件。

Pandas的一些主要功能包括:

DataFrame

Pandas 引入了 DataFrame 資料結構,這基本上是一種二維標籤資料結構,具有可能不同類型的列。它類似於電子表格或 SQL 表,因此可以輕鬆對表格式資料進行過濾、分組和聚合等操作。

數據操作

Pandas 提供了各種數據操作的功能,包括合併、重塑、切片、索引和樞紐分析。這些操作允許用戶有效地清理、轉換和準備數據進行分析或可視化。

時間序列功能

Pandas提供強大的時間序列資料支援,包括日期/時間索引和重新取樣的工具,還有方便處理遺漏資料和時區轉換的方法。

與庫的整合

Pandas 可以無縫協作於各種常用於數據分析和科學計算的 Python 庫,包括 NumPy、Matplotlib 和 Scikit-learn。這種互操作性使得用戶能夠在單一分析工作流程中利用不同庫的優勢。

總的來說,Pandas 是一個強大的 Python 數據操作和分析工具,並且在包括金融、經濟、生物學和社會科學在內的各個領域廣泛使用。

IronXL - The Python Excel Library

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 試算表文件。

跨平台支持

為 Python 3+ 設計,並與 Windows、Mac、Linux 和雲端平台兼容,IronXL 確保部署環境的靈活性。

無需 Microsoft Office 或 Excel 互操作

開發者可以在不安裝 Microsoft Office 或處理 Excel 互操作的情況下,在 Python 中使用 Excel 文件,簡化整合流程並減少依賴性。

兼容性

支持在包括 Microsoft Windows、macOS、Linux、Docker、Azure 和 AWS 在內的各種操作系統上運行 Python 3.7+。與 JetBrains PyCharm 和其他流行的 Python IDE 完全兼容。

多功能工作簿處理

創建、加載、保存和導出包括XLS、XLSX、XSLT、XLSM、CSV、TSV、JSON、HTML、二進製和位元組陣列等各種格式的電子表格。

強大的工作表編輯

編輯中繼資料,設置權限和密碼,創建和刪除工作表,操控工作表佈局,處理圖片等。

進階儲存格範圍操作

在儲存格範圍上執行各種操作,例如排序、修剪、清除、複製、查找和替換值、設定超連結,以及合併和取消合併儲存格。

靈活的單元格樣式

自定義單元格樣式,包括字體、大小、邊框、對齊和背景圖案,並應用條件格式。

數學函數和數據格式

運用平均、總和、最小值和最大值等數學函數,並設置包括文本、數字、公式、日期、貨幣、科學、時間、布爾值和自定義格式在內的單元格數據格式。

使用 PyCharm 創建 Python 專案

首先,需要在您的機器上安裝 Python。從官方網站安裝最新版本的 Python 3.x Python 網站. 安裝 Python 時,請選擇將 Python 添加到系統 PATH 的選項,以便可以從命令行訪問。

為了展示 Pandas 和 IronXL 在讀取 Excel 檔案方面的功能,讓我們使用流行的集成開發環境 PyCharm 創建一個 Python 專案。 (集成開發環境) 供 Python 使用。

  1. 打開 PyCharm 並創建一個新的 Python 專案。

    Pandas 讀取 Excel 替代方案(不使用 Interop) IronXL for Python:圖 1 - 創建一個新的 PyCharm 項目

  2. 配置專案如下:

    • 為專案命名。在這個例子中是 "pythonReadExcel"

    • 選擇專案的期望位置

    • 選擇解釋器類型:專案 venv

    • 選擇 Python 版本

    無需使用互操作的 Pandas 讀取 Excel 替代方案 IronXL for Python: 圖 2 - 配置項目名稱、解釋器類型和 Python 版本

  3. 點擊「建立」以創建專案。

使用 pip 安裝 Pandas 和 IronXL

安裝 Pandas

要在您的專案中安裝 Pandas,您可以按照以下步驟進行:

  1. 打開命令提示符或終端:在 PyCharm 中,依次選擇視圖->工具窗口->終端。

    Pandas 讀取 Excel 的替代方案(不使用 Interop)   IronXL for Python: 圖3 - 開啟終端

  2. 通過 pip 安裝 Pandas:Pandas 可以使用 pip 套件管理器安裝。請在終端中執行以下命令:
    pip install pandas

此命令將從 Python 套件索引安裝 Pandas 庫及其依賴項 (PyPI).

![Pandas 讀取 Excel 替代方案(不使用 Interop)

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 .NET 庫,具體來說是 .NET 6.0 作為其底層技術。請確保您的計算機已安裝 .NET 6.0 SDK。您可以從官方網站下載該 SDK。 .NET 網站2. 開啟命令提示符或終端:如之前所述操作。

  2. 通過 pip 安裝 IronXL:IronXL 可以使用 pip 套件管理器進行安裝。運行以下命令:
 pip install IronXL

此命令將從Python包索引收集、下載並安裝IronXL庫及其依賴項 (PyPI).

Pandas 讀取 Excel 替代方案(不使用 Interop) IronXL for Python:圖5 - 安裝 IronXL 的控制台輸出

使用 Pandas 和 IronXL 讀取 Excel 文件

在我們設置好一切之後,我們將繼續使用這兩個庫來讀取 Excel 文件。我們要讀取的示例 Excel 文件具有以下值,標題行為 Name, Marks, 和 Res:

使用 Pandas 讀取 Excel 的替代方案(不使用 Interop) 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 文件中的哪一行用作列名稱。您可以將其設置為 None 表示沒有標題行,或者提供一個整數以指示行號。如果跳過,標題將默認設置為 bool true,並且第一行位置將顯示為標題行標籤。

index_col:指定哪一列或哪幾列用作 DataFrame 的索引。您可以傳遞單個列名或列索引。或者,您可以傳遞列名或列索引的列表以創建多層索引。

sheet_name:指定工作表(s) 從 Excel 文件中讀取資料。您可以提供工作表名稱作為字串,或使用一個整數指示零起始的工作表位置。

usecols:指定從 Excel 文件中讀取的列。您可以傳遞單一列名稱或列索引。或者您可以傳遞一個列名稱或列索引的列表來讀取特定的列。

dtype:指定列的資料類型。您可以傳遞一個字典,其中鍵是列名稱或列索引,值是所需的資料類型。

converters:指定自訂解析的函數應用於列。您可以傳遞一個字典,其中鍵是列名稱或列索引,值是函數。

na_values:指定要識別為 NaN 的其他字串 (不是數字) 值。您可以傳遞一個字符串列表來作為NaN處理。

parse_dates:指定要解析為日期的列。您可以傳遞單個列名或列索引。或者,您可以傳遞一個列名或索引列表來解析為日期。

date_parser:指定用於解析日期的函數。您可以傳遞一個接受字符串並返回datetime對象的函數。

skiprows:指定在Excel文件開頭要跳過的行數。

這些選項在使用Pandas讀取Excel文件時提供了靈活性,使您可以根據具體需求自定義讀取過程。

步驟 2

顯示 DataFrame 的內容。

print(df)
PYTHON

上述程式碼的輸出如下:

Pandas 读取 Excel 的替代方案(不使用 Interop) IronXL for Python:圖 7 - 執行 Pandas 代碼的輸出

使用 IronXL

步驟 1: 引入 IronXL 庫並使用 WorkBook.Load()** 用於載入 Excel 檔案的方法。在 Load 方法的參數中,您可以傳遞有效的檔案 URL、本地檔案路徑物件,或者如果檔案與腳本在同一目錄中,則可以傳遞檔案名稱。

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

步驟二: 使用IronXL,您可以請求多個工作表,同時列印欄標籤。存取工作表和儲存格以讀取欄中的資料。這些儲存格可以是任何資料類型,如數值欄或字符串欄。儲存格的值可以透過使用IntValue屬性將字符串欄解析為數值來轉換為整數,反之亦然。

# 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 的多功能性及其恰當的顯示格式:

Pandas 讀取 Excel 的替代方法(不使用 Interop) IronXL for Python:圖8 - IronXL 程式碼的控制台輸出

如需有關使用Excel文件的更多資訊,請訪問此 代碼範例 頁面。

結論

總結,Pandas和 IronXL 提供高效的方法來讀取 Python 中的 Excel 文件。然而,IronXL 在易用性、性能以及專業的 Excel 處理能力方面,提供了多於 Pandas 的幾項優勢。IronXL 的直觀 API 和全面功能,使其成為需要進行大量 Excel 操作任務的專案的最佳選擇。

此外,IronXL 消除了對外部依賴的需求,例如 Microsoft Excel 或 Excel Interop,簡化了開發過程,並增強了跨不同平臺的可移植性。因此,對於尋求強大且高效的 Excel 文件操作解決方案的 Python 開發者而言,IronXL 是首選,提供比 Pandas 更好的功能和增強的能力。如需有關 IronXL 的更多詳細信息,請訪問此 文檔 頁面。

IronXL 提供 免費試用 以測試其對您的 Python 專案的功能性和可行性。此試用版允許開發人員探索 IronXL 提供的全部功能和能力,無需事先支付任何費用。無論您是考慮將 IronXL 用於數據進口/匯出任務、報告生成或數據分析,免費試用版都提供了一個評估其性能和是否符合您具體需求的機會。

有關授權選項的更多信息以及下載免費試用版,請訪問 IronXL 網站 授權頁面在這裡,您將找到關於許可條款的詳細信息,包括商業使用和支持的選項。要開始使用 IronXL 並親身體驗其好處,請從以下位置下載該庫: 這裡.

< 上一頁
OpenpyXL Python 與 IronXL Python 的比較

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 pip 下載 查看許可證 >