跳至頁尾內容
與其他組件的比較

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的一些關鍵特性包括:

DataFrame

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等常用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整合開發環境)建立一個Python項目。

  1. 打開PyCharm並建立一個新的Python項目。

    Pandas Read Excel Alternatives (Without Using Interop) | IronXL for Python: 圖1 - 建立一個新的PyCharm項目

  2. 配置項目如下:

    • 給項目命名。 在這個例子中 "pythonReadExcel"
    • 選擇項目的目標位置
    • 選擇解釋器型別:項目venv
    • 選擇Python版本

    Pandas Read Excel Alternatives (Without Using Interop) | IronXL for Python: 圖2 - 配置項目名稱、解釋器型別和Python版本

  3. 點擊"Create"建立項目。

使用pip安裝Pandas和IronXL

安裝Pandas

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

  1. 打開命令提示符或終端:在PyCharm中,從View->Tool Windows->Terminal。

    Pandas Read Excel Alternatives (Without Using Interop) | IronXL for Python: 圖3 - 打開終端

  2. 使用pip安裝Pandas:可以使用pip包管理器安裝Pandas。 在終端中運行以下指令:

    pip install pandas
    pip install pandas
    SHELL

    此命令從Python包索引(PiPY)安裝Pandas程式庫及其依賴項。

    Pandas Read Excel Alternatives (Without Using Interop) | IronXL for Python: 圖4 - 安裝Pandas後的控制台輸出

  3. 使用pip安裝OpenPyXL:OpenPyXL是一個幫助讀取和寫入Excel文件的程式庫。 它是Pandas權用的一個依賴。 當您安裝Pandas時,如果OpenPyXL還沒有安裝,將會自動安裝。 如果它沒有安裝,您可以使用以下指令在終端中安裝它:

    pip install openpyxl
    pip install openpyxl
    SHELL

安裝IronXL

要在Python項目中安裝IronXL,請按照以下步驟操作:

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

    .NET 6.0 SDK: IronXL依賴IronXL .NET程式庫,特別是.NET 6.0作為其底層技術。 確保您的機器上已安裝.NET 6.0 SDK。您可以從官方 .NET網站下載。

  2. 打開命令提示符或終端:與之前相同。
  3. 使用pip安裝IronXL:可以使用pip包管理器安裝IronXL。 運行以下指令:

    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![Pandas Read Excel Alternatives (Without Using Interop) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![Pandas Read Excel Alternatives (Without Using Interop) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    SHELL

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 Read Excel Alternatives (Without Using 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的索引。 您可以傳遞一個單獨的列名或列索引,或者您可以傳遞包含列名或列索引的列表來建立MultiIndex。

  • sheet_name: 指定從Excel文件中讀取的工作表。您可以提供工作表名作為字串或表示零索引工作表位置的整數。
  • usecols: 指定要從Excel文件中讀取的列。您可以傳遞一個單獨的列名或列索引,或者您可以傳遞包含列名或列索引的列表來讀取特定列。
  • dtype: 指定列的資料型別。 您可以傳遞一個字典,其中鍵是列名或列索引,值是所需的資料型別。
  • converters: 指定用於自定義解析列的功能。 您可以傳遞一個字典,其中鍵是列名或列索引,值是功能。

  • na_values: 指定額外的字串以識別為NaN(不是數字)值。 您可以傳遞要視為NaN的字串列表。
  • parse_dates: 指定要解析為日期的列。 您可以傳遞一個單獨的列名或列索引,或者您可以傳遞要解析為日期的列名或列索引的列表。
  • date_parser: 指定用於解析日期的功能。 您可以傳遞接受字串並返回日期時間對像的功能。
  • skiprows: 指定要在Excel文件開始時跳過的行數。

這些選項提供了靈活性,使您能夠根據特定要求自定義Pandas讀取Excel文件的過程。

步驟2

顯示DataFrame的內容。

print(df)
print(df)
PYTHON

這是上述程式碼的輸出:

Pandas Read Excel Alternatives (Without Using 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屬性將字串列解析為數字值並反過來將其解析為int。

# 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 Read Excel Alternatives (Without Using 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是其相關所有者的註冊商標。 本網站與Pandas無關聯、獲得其支持或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅用於資料性目的,並反映了撰寫時公開可用的資訊。

常見問題

如何在不使用 Interop 的情況下在 Python 中讀取 Excel 文件?

您可以使用 IronXL,一個專為處理 Excel 文件而設計的 Python 程式庫,不需要 Microsoft Office 或 Excel Interop。它提供簡單易懂的 API,用於無縫操作 Excel 文件。

IronXL 為何在 Excel 特定工作方面優於 Pandas?

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 安裝 IronXL,執行命令:pip install ironxl

IronXL 可以處理哪些 Excel 文件格式?

IronXL 支援廣泛的 Excel 文件格式,包括 XLS、XLSX、XSLT、XLSM、CSV、TSV、JSON、HTML、Binary 和 Byte Array。

IronXL 是否提供免費試用?

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

IronXL 如何在 Python 中提高 Excel 文件讀取效能?

IronXL 提供了優化的 API,用於高效讀取和操作 Excel 文件,與像 Pandas 這樣的通用資料分析程式庫相比,能夠提供更好的 Excel 特定工作效能。

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

您可以使用 IronXL 的簡單方法在 Python 中讀取 Excel 文件。只需使用程式庫的功能來載入和操作所需的 Excel 資料。

為什麼選擇 IronXL 用於涉及大量 Excel 操作的 Python 專案?

IronXL 因其使用簡便、性能優越以及全面的功能(如靈活的儲存格樣式和數學功能)而受到推薦,非常適合需要廣泛 Excel 操作的專案。

有哪些替代 Pandas 在 Python 中讀取 Excel 文件的選擇?

IronXL 是一個強有力的替代方案,專為 Python 中讀取 Excel 文件而設計,提供不需 Microsoft Office 或外部依賴的特定操作功能。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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