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

Pandas 讀取 Excel 的替代方案(不使用 Interop)| 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:指定列的資料類型。 您可以傳遞一個字典,其中鍵是列名或列索引,值是所需的資料類型。
    -轉換器:指定要套用於列以進行自訂解析的函數。 你可以傳遞一個字典,其中鍵是列名或列索引,值為函數。

  • 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提供了一個專门的API,可以簡化Excel文件操作,無需外部依赖。它支持各种Excel格式、先進的工作表操作和单元格操作,使其在特定Excel任务中优于其他選項。

我可以在不同的操作系统上使用IronXL操控Excel文件嗎?

是的,IronXL与Python 3.7+兼容,并支持包括Windows、macOS、Linux、Docker、Azure和AWS在內的平台,為Excel文件操作提供跨平台功能。

如何為Python項目安装IronXL?

首先,确保已安装.NET 6.0 SDK。然後,在终端中運行命令:pip install ironxl 以使用pip安装IronXL。

IronXL 能夠處理什麼格式的 Excel 文件?

IronXL支持多种Excel文件格式,包括XLS、XLSX、XSLT、XLSM、CSV、TSV、JSON、HTML、二進制和字节數组。

IronXL 有免費試用版嗎?

是的,IronXL為開發者提供免费试用以测试其功能。您可以在IronXL網站上找到有关试用和許可選項的更多信息。

IronXL如何提升Python中Excel文件读取性能?

IronXL提供了一個优化的API,用于高效读取和操作Excel文件,与普通數据分析庫如Pandas相比,提供更好的性能。

如何在Python中使用IronXL读取Excel文件?

您可以使用IronXL的簡单方法在Python中读取Excel文件,只需使用庫的函數按需加载和操控Excel數据。

為什么選择IronXL用于需要大量Excel操作的Python項目?

推荐使用IronXL是因為其易用性、性能和综合性功能,如灵活的单元格样式和數学函數,適合需要大規模Excel操作的項目。

在Python中读取Excel文件有什么替代Pandas的選項?

IronXL是Python中读取Excel文件的一個強力替代方案,提供不需要Microsoft Office或外部依赖的Excel操作特定功能。

Curtis Chau
技術作家

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

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

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我