在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
Excel 檔案在資料分析和操作任務中無處不在,提供了一種儲存和組織表格資料的方便方法。 在 Python 中,有多個可用的庫用於讀取 Excel 文件,每個庫都有其各自的功能和特點。 兩個顯著的選擇是 Pandas 和 IronXL,兩者都提供了在 Python 中讀取 Excel 文件的高效方法。
在本文中,我們將比較Pandas和IronXL在 Python 中讀取 Excel 文件的功能和性能。
Pandas 是一個強大的開源資料分析和操作庫,用於 Python。 它介紹了 DataFrame 資料結構,這是一種二維標籤資料結構,其中列可能具有不同類型。Pandas 提供了廣泛的資料處理功能,包括從各種來源讀取和寫入資料,例如 CSV 文件、SQL 資料庫和 Excel 文件。
Pandas 的一些主要功能包括:
Pandas 引入了 DataFrame 資料結構,這基本上是一種二維標籤式資料結構,具有可能為不同類型的列。這類似於電子表格或 SQL 表,使得在表格資料上執行過濾、分組和聚合等操作變得容易。
Pandas 提供多種資料操作功能,包括合併、重塑、分割、索引和樞紐分析資料。 這些操作允許用戶高效地清理、轉換和準備數據以進行分析或視覺化。
Pandas 提供強大的工具來處理時間序列數據,包括用於日期/時間索引和重採樣的工具,以及便捷的方法來處理遺失數據和時區轉換。
Pandas 可以無縫地與多種在數據分析和科學計算中經常使用的 Python 庫合作,包括 NumPy、Matplotlib 和 Scikit-learn。 這種互操作性允許用戶在單一的分析工作流程中利用不同庫的優勢。
總體來說,Pandas 是一個用於在 Python 中進行資料操作和分析的強大工具,並廣泛應用於金融、經濟、生物學和社會科學等各個領域。
IronXL 是一個專為處理 Excel 文件而設計的 Python 函式庫。 它提供了一個直觀的 API,用於在 Python 中讀取、寫入和處理 Excel 文件。 IronXL旨在簡化Excel文件操作,提供直觀的介面,並消除對外部依賴的需求,如Microsoft Excel或Excel Interop。
IronXL的一些主要功能如下:
IronXL 提供一個 Python 3+ 的 Excel 文件 API,直觀且易於使用,使開發者能夠無縫地讀取、編輯和創建 Excel 試算表檔案。
專為 Python 3+ 設計,並與 Windows、Mac、Linux 和雲端平台相容,IronXL 確保部署環境的靈活性。
開發人員可以在 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、二進制和字節陣列。
編輯中繼資料,設定權限和密碼,創建和刪除工作表,調整工作表佈局,處理圖片等等。
在儲存格範圍上執行各種操作,例如排序、修剪、清除、複製、查找和替換值、設置超連結、合併和取消合併儲存格。
自訂儲存格樣式,包括字體、大小、邊框、對齊和背景圖案,並應用條件格式。
利用數學函數例如平均值、總和、最小值和最大值,並設置儲存格資料格式,包括文字、數字、公式、日期、貨幣、科學、時間、布林值和自定義格式。
首先,需要在您的機器上安裝 Python。從官方的Python 網站安裝最新版的 Python 3.x。 安裝 Python 時,請確保選擇將 Python 添加到系統 PATH 的選項,這樣可以從命令行訪問。
為了展示 Pandas 和 IronXL 在讀取 Excel 文件方面的功能,讓我們使用 PyCharm—a 這個受歡迎的 Python 統合開發環境 (IDE),來創建一個 Python 專案。
打開 PyCharm 並創建一個新的 Python 專案。
將專案配置如下:
為專案命名。 在這種情況下「pythonReadExcel」
選擇專案的預期位置
選擇解析器類型:專案 venv
要在您的專案中安裝 Pandas,您可以遵循以下步驟:
開啟命令提示字元或終端機:在 PyCharm 中,從檢視->工具視窗->終端機。
pip install pandas
此指令從 Python 套件索引 (PyPI) 安裝 Pandas 庫及其相依性。
pip install openpyxl
在 Python 專案中安裝 IronXL,請遵循以下步驟:
確保先決條件:在安裝IronXL之前,請確保您的系統上已安裝必要的先決條件:
.NET 6.0 SDK:IronXL 依賴於 IronXL .NET 庫,特別是 .NET 6.0,作為其底層技術。 確保您的電腦上已安裝 .NET 6.0 SDK。您可以從官方.NET 網站下載。
開啟命令提示字元或終端機:與之前相同。
pip install IronXL
此命令將從 Python 軟體包索引 (PyPI) 收集、下載並安裝 IronXL 庫及其依賴項。
既然我們已經完成了所有設定,接下來我們將使用這兩個庫來讀取 Excel 文件。 我們將要讀取的示範 Excel 文件具有以下值,標題行為 Name、Marks 和 Res:
導入 Pandas 庫並使用 read_excel() 函數從 Excel 文件中讀取欄位數據。
import pandas as pd
# Read the Excel file
df = pd.read_excel("file.xlsx")
使用 Pandas 的 read_excel() 函數時,您可以根據需要指定多個顯示選項:
header: 指定 Excel 文件中用作欄名的列。 您可以將其設置為None以表示沒有標題列,或者您可以提供一個整數來指示行號。 如果跳過,標題將設置為布爾預設值 true,第一行位置會顯示為標題行標籤。
index_col:指定使用哪一列或多列作為 DataFrame 的索引。 您可以傳遞單個欄位名稱或欄位索引。 或者您可以傳遞一個包含列名或列索引的列表來創建一個多重索引。
sheet_name:指定要從 Excel 檔案中讀取的工作表。您可以提供工作表名稱作為字串,或者提供指示零索引工作表位置的整數。
usecols:指定從 Excel 文件中讀取哪些列。您可以傳入單個列名或列索引。 或者您可以傳入一個列名或列索引的列表來讀取特定的列。
dtype:指定欄位的資料類型。 您可以傳遞一個字典,其中鍵是列名或列索引,值是所需的數據類型。
轉換器:指定應用於欄位自定義解析的函數。 您可以傳遞一個字典,其中鍵是列名或列索引,值是函數。
na_values:指定要識別為 NaN(非數字)值的其他字符串。 您可以傳遞一個字符串列表以視為NaN。
parse_dates:指定要解析為日期的列。 您可以傳入單個欄位名稱或欄位索引。 或者您可以傳遞一個列表,其中包含要解析為日期的列名或索引。
date_parser:指定用於解析日期的函數。 您可以傳遞一個接受字串並返回 datetime 物件的函數。
skiprows:指定在 Excel 文件开头跳过的行数。
這些選項在使用 Pandas 讀取 Excel 文件時提供了靈活性,使您可以根據具體需求自訂讀取過程。
顯示 DataFrame 的內容。
print(df)
以下是上述程式碼的輸出:
步驟 1:導入 IronXL 庫,並使用 WorkBook.Load() 方法加載 Excel 文件。在 Load 方法參數中,您可以傳入有效的文件 URL、本地文件路徑對象,或文件名(如果它與腳本位於同一目錄中)。
from ironxl import WorkBook
# Load the Excel file like object
workbook = WorkBook.Load("file.xlsx")
步驟 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))
以下是上述代碼的輸出,展示了 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並親身體驗其優勢,請從此處下載庫。