在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
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 3.x。Python 網站. 安裝 Python 時,請確保選擇將 Python 添加到系統 PATH 的選項,這樣可以從命令行訪問。
為了展示 Pandas 和 IronXL 在讀取 Excel 文件方面的功能,讓我們使用 PyCharm(一個受歡迎的整合開發環境)創建一個 Python 項目。(集成開發環境)for Python。
打開 PyCharm 並創建一個新的 Python 專案。
將專案配置如下:
為專案命名。 在這種情況下 "pythonReadExcel"
選擇專案的預期位置
選擇解析器類型:專案 venv
選擇 Python 版本
要在您的專案中安裝 Pandas,您可以遵循以下步驟:
開啟命令提示字元或終端機:在 PyCharm 中,從 View->Tool Windows->Terminal。
pip install pandas
此命令將從 Python 套件索引安裝 Pandas 庫及其依賴項(PyPI).
![Pandas 讀取 Excel 的替代方案(無需使用 Interop) IronXL for Python:圖 4 - 安裝 Pandas 後的控制台輸出](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-4.webp)
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包索引收集、下載並安裝IronXL庫及其依賴項(PyPI).
既然我們已經完成了所有設定,接下來我們將使用這兩個庫來讀取 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:指定工作表(s)從 Excel 文件中讀取資料。您可以提供工作表名稱作為字串,或以整數表示零起始位置的工作表。
usecols:指定從 Excel 檔案中讀取哪些欄位。您可以傳入單個欄位名稱或欄位索引。 或者您可以傳入一個列名或列索引的列表來讀取特定的列。
dtype:指定欄位資料類型。 您可以傳遞一個字典,其中鍵是列名或列索引,值是所需的數據類型。
converters:指定用於列的函數以進行自定義解析。 您可以傳遞一個字典,其中鍵是列名或列索引,值是函數。
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並親自體驗其優勢,請從這裡.
9 個 .NET API 產品 針對您的辦公文件