跳過到頁腳內容
與其他元件比較

Pandas 讀取 Excel 替代方案(不使用互操作) | IronXL for Python

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 旨在透過提供簡單明了的介面並消除對 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 專案。

  1. 開啟 PyCharm 並建立一個新的 Python 專案。

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

  2. 依下列方式配置項目:

    • 為項目命名。 在這種情況下," pythonReadExcel "
    • 選擇項目的理想位置
    • 選擇解譯器類型:專案虛擬環境
    • 選擇 Python 版本

    Pandas 讀取 Excel 的替代方案(無需使用 Interop) | IronXL for Python:圖 2 - 設定專案名稱、解釋器類型和 Python 版本

  3. 點選"建立"按鈕建立項目。

使用 pip 安裝 Pandas 和 IronXL。

安裝 Pandas

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

1.開啟命令提示字元或終端機:在 PyCharm 中,從檢視->工具視窗->終端機。

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

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

```shell
pip install pandas
```

此命令從 Python 套件索引 (PyPI) 安裝 Pandas 程式庫及其相依性。

![Pandas 讀取 Excel 的替代方案(無需使用 Interop) | IronXL for Python:圖 4 - 安裝 Pandas 後的控制台輸出](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-4.webp)

3.透過 pip 安裝 OpenPyXL :OpenPyXL 是一個用於讀取和寫入 Excel 檔案的庫。 它是 Pandas 使用的依賴項之一。 安裝 Pandas 時,如果尚未安裝 OpenPyXL,則會自動安裝。 如果軟體未安裝,您可以使用以下命令在終端機中進行安裝:

```shell
pip install openpyxl
```

安裝 IronXL

若要在 Python 專案中安裝 IronXL,請依照下列步驟操作:

1.確保先決條件:在安裝 IronXL 之前,請確保您的系統已安裝必要的先決條件。

**.NET 6.0 SDK** :IronXL 依賴 IronXL .NET 函式庫,特別是 .NET 6.0,作為其底層技術。 請確保您的電腦上已安裝 .NET 6.0 SDK。您可以從[**.NET 官方網站**](https://dotnet.microsoft.com/download/dotnet/6.0)下載。

2.開啟命令提示字元或終端機:執行與先前相同的操作。 3.透過 pip 安裝 IronXL :可以使用 pip 套件管理器安裝 IronXL。 運行以下命令:

```shell
:ProductInstall
W```

This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).

![Pandas 讀取 Excel 的替代方案(無需使用 Interop) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)

Reading Excel Files using Pandas and IronXL

As we have set up everything, we'll move on to reading Excel files using both libraries. The demo Excel file that we are going to read has the following values with header rows as Name, Marks, and Res:

Pandas 讀取 Excel 的替代方案(無需使用 Interop) | IronXL for Python: Figure 6 - Sample Excel sheet

Using Pandas

Step 1

Import the Pandas library and use the read_excel() function to read column data from the Excel file.

import pandas as pd

# Read the Excel file
df = pd.read_excel("file.xlsx")
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 :指定要從 Excel 檔案讀取的工作表。您可以將工作表名稱提供為字串,也可以提供表示從零開始索引的工作表位置的整數。
  • usecols :指定要從 Excel 檔案讀取的欄位。您可以傳遞單一列名或列索引,也可以傳遞列名或列索引清單以讀取特定列。
  • dtype :指定列的資料類型。 您可以傳遞一個字典,其中鍵是列名或列索引,值是所需的資料類型。
  • converters :指定要套用於列以進行自訂解析的函數。 你可以傳遞一個字典,其中鍵是列名或列索引,值為函數。

  • na_values :指定要識別為 NaN(非數字)值的其他字串。 您可以傳遞一個字串列表,這些字串將被處理成 NaN 值。
  • parse_dates :指定要解析為日期的欄位。 您可以傳遞單一列名或列索引,也可以傳遞要解析為日期的列名或索引清單。
  • date_parser :指定用於解析日期的函數。 你可以傳遞一個接受字串並傳回日期時間物件的函數。
  • skiprows : 指定要跳過的 Excel 檔案開頭的行數。

這些選項在使用 Pandas 讀取 Excel 檔案時提供了靈活性,讓您可以根據特定要求自訂讀取過程。

步驟 2

顯示資料框的內容。

print(df)
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 as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
from ironxl import WorkBook

# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
PYTHON

步驟 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}'")
# 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}'")
PYTHON

以下是上述程式碼的輸出結果,採用正確的顯示格式,充分展現了 IronXL 的多功能性:

Pandas 讀取 Excel 的替代方案(無需使用 Interop) | IronXL for Python:圖 8 - 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 並親身體驗其優勢,請從這裡下載庫。

請注意Pandas 是其各自所有者的註冊商標。 本網站與熊貓公司沒有任何關聯,也未獲得熊貓公司的認可或贊助。 所有產品名稱、標誌和品牌均為其各自擁有者的財產。 比較資料僅供參考,並反映撰寫時的公開資訊。

常見問題解答

不使用 Interop 如何在 Python 中讀取 Excel 檔案?

您可以使用 IronXL,它是專為處理 Excel 檔案而設計的 Python 函式庫,不需要 Microsoft Office 或 Excel Interop。它提供直覺的 API,可讓您無縫操作 Excel 檔案。

與 Pandas 相比,是什麼讓 IronXL 成為 Excel 特定工作的更好選擇?

IronXL.Excel 提供專門的 API,可簡化 Excel 檔案作業,無需外部依賴。它支援各種 Excel 格式、進階工作表處理和儲存格操作,使其在執行特定 Excel 任務時更具優勢。

IronXL.Excel 可以在不同的作業系統上操作 Excel 檔案嗎?

是的,IronXL 與 Python 3.7+ 相容,並支援包括 Windows、macOS、Linux、Docker、Azure 和 AWS 等平台,提供 Excel 檔案操作的跨平台功能。

如何為 Python 專案安裝 IronXL?

首先,確保您已安裝 .NET 6.0 SDK。然後,使用 pip 執行指令來安裝 IronXL:pip install ironxl

IronXL.Excel 可以處理哪些 Excel 檔案格式?

IronXL.Excel 支援多種 Excel 檔案格式,包括 XLS、XLSX、XSLT、XLSM、CSV、TSV、JSON、HTML、Binary 和 Byte Array。

IronXL 是否提供免費試用?

是的,IronXL 為開發人員提供免費試用版以測試其功能。您可以在 IronXL 網站找到更多關於試用版和授權選項的資訊。

IronXL 如何改善 Python 中 Excel 檔案的讀取效能?

IronXL.Excel 提供最佳化的 API,可有效讀取和處理 Excel 檔案,相較於 Pandas 等一般資料分析函式庫,IronXL.Excel 為 Excel 特定任務提供更好的效能。

如何使用 Python 中的 IronXL.Excel 讀取 Excel 檔案?

您可以使用 IronXL.Excel 直接的方法在 Python 中讀取 Excel 檔案。只需根據需要使用函式庫的函式來載入和處理 Excel 資料。

為何要選擇 IronXL 來處理涉及大量 Excel 操作的 Python 專案?

IronXL.Excel 因其易用性、性能和全面的功能(如靈活的單元格樣式和數學功能)而受到推薦,是需要大量 Excel 操作的專案的理想選擇。

用 Python 讀取 Excel 檔案時,有哪些方法可以替代 Pandas?

IronXL 是用 Python 閱讀 Excel 檔案時,Pandas 的強大替代品,提供特定的 Excel 操作功能,而不需要 Microsoft Office 或外部相依性。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。