與其他組件比較

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 的一些主要功能包括:

數據框架

Pandas 引入了 DataFrame 資料結構,這基本上是一種二維標籤式資料結構,具有可能為不同類型的列。這類似於電子表格或 SQL 表,使得在表格資料上執行過濾、分組和聚合等操作變得容易。

數據操作

Pandas 提供多種資料操作功能,包括合併、重塑、分割、索引和樞紐分析資料。 這些操作允許用戶高效地清理、轉換和準備數據以進行分析或視覺化。

時間序列功能

Pandas 提供強大的工具來處理時間序列數據,包括用於日期/時間索引和重採樣的工具,以及便捷的方法來處理遺失數據和時區轉換。

與庫的整合

Pandas 可以無縫地與多種在數據分析和科學計算中經常使用的 Python 庫合作,包括 NumPy、Matplotlib 和 Scikit-learn。 這種互操作性允許用戶在單一的分析工作流程中利用不同庫的優勢。

總體來說,Pandas 是一個用於在 Python 中進行資料操作和分析的強大工具,並廣泛應用於金融、經濟、生物學和社會科學等各個領域。

IronXL- Python Excel 函式庫

IronXL是一個專門用於處理 Excel 文件的 Python 函式庫。 它提供了一個直觀的 API,用於在 Python 中讀取、寫入和處理 Excel 文件。 IronXL旨在簡化Excel文件操作,提供直觀的介面,並消除對外部依賴的需求,如Microsoft Excel或Excel Interop。

IronXL的一些主要功能如下:

直觀的Python 3+ Excel文件API

IronXL 提供一個 Python 3+ 的 Excel 文件 API,直觀且易於使用,使開發者能夠無縫地讀取、編輯和創建 Excel 試算表檔案。

跨平台支援

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

不需要 Microsoft Office 或 Excel Interop

開發人員可以在 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 3.x。Python 網站. 安裝 Python 時,請確保選擇將 Python 添加到系統 PATH 的選項,這樣可以從命令行訪問。

為了展示 Pandas 和 IronXL 在讀取 Excel 文件方面的功能,讓我們使用 PyCharm(一個受歡迎的整合開發環境)創建一個 Python 項目。(集成開發環境)for Python。

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

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

  2. 將專案配置如下:

    • 為專案命名。 在這種情況下 "pythonReadExcel"

    • 選擇專案的預期位置

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

    • 選擇 Python 版本

      Pandas 讀取 Excel 的替代方案(無需使用 Interop)  IronXL for Python:圖 2 - 配置專案名稱、直譯器類型和 Python 版本

  3. 按「建立」以建立專案。

使用 pip 安裝 Pandas 和 IronXL

安裝 Pandas

要在您的專案中安裝 Pandas,您可以遵循以下步驟:

  1. 開啟命令提示字元或終端機:在 PyCharm 中,從 View->Tool Windows->Terminal。

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

  2. 透過 pip 安裝 Pandas:可以使用 pip 套件管理器來安裝 Pandas。 在終端中運行以下命令:
    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。您可以從官方下載它。.NET 網站.

  2. 開啟命令提示字元或終端機:和之前一樣進行操作。

  3. 通過 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

第一步

導入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來表示沒有標題行,或者提供一個整數來指示行號。 如果跳過,標題將設置為布爾預設值 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

步驟 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 的多功能性,並以適當的顯示格式顯示:

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.11 剛剛發布

免費 pip 下載 查看許可證 >