
Pandas 讀取 Excel 的替代方案(不使用 Interop)| IronXL for Python
Excel文件在資料分析和處理任務中無處不在,提供了一種方便的方式來儲存和組織表格資料。 在Python中,有多個程式庫可用於 讀取Excel文件,每個都有自己的一套功能和特性。 兩個突出的選擇是Pandas和IronXL,它們都提供了在Python中讀取Excel文件的高效方法。
在本文中,我們將比較 Pandas 和 IronXL 在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項目。
-
打開PyCharm並建立一個新的Python項目。

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

-
點擊"Create"建立項目。
使用pip安裝Pandas和IronXL
安裝Pandas
要在您的項目中安裝Pandas,您可以按照以下步驟操作:
-
**打開命令提示符或終端:**在PyCharm中,從View->Tool Windows->Terminal。

-
**使用pip安裝Pandas:**可以使用pip包管理器安裝Pandas。 在終端中運行以下指令:
pip install pandasSHELL此命令從Python包索引(PiPY)安裝Pandas程式庫及其依賴項。

-
**使用pip安裝OpenPyXL:**OpenPyXL是一個幫助讀取和寫入Excel文件的程式庫。 它是Pandas權用的一個依賴。 當您安裝Pandas時,如果OpenPyXL還沒有安裝,將會自動安裝。 如果它沒有安裝,您可以使用以下指令在終端中安裝它:
pip install openpyxlSHELL
安裝IronXL
要在Python項目中安裝IronXL,請按照以下步驟操作:
-
**確保符合先決條件:**在安裝IronXL之前,請確保系統中已安裝必要的先決條件。
.NET 6.0 SDK: IronXL依賴IronXL .NET程式庫,特別是.NET 6.0作為其底層技術。 確保您的機器上已安裝.NET 6.0 SDK。您可以從官方 .NET網站下載。
-
**打開命令提示符或終端:**與之前相同。
-
**使用pip安裝IronXL:**可以使用pip包管理器安裝IronXL。 運行以下指令:
使用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)
這是上述程式碼的輸出:

使用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")
步驟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}'")
這是上述程式碼在正確顯示格式下展示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一起工作並親身體驗其優勢,請從 此處 下載程式庫。

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



