Python 讀取 Excel 文件教程

This article was translated from English: Does it need improvement?
Translated
View the article in English

本指南為 Python 開發人員提供逐步指示,說明如何使用 IronXL 庫來讀取和編輯 Microsoft Excel 文件。

IronXL 是一個全面的 Excel 檔案處理庫,支持多種編程語言,包括.NETPython程式語言。 本教學專門介紹如何在 Python 腳本中使用 IronXL 來讀取和編輯 Microsoft Excel 文件。

有關在 .NET 應用程式中讀取和編輯 Microsoft Excel 文件的獨立教程,請參考以下内容這裡.

使用 IronXL for Python 軟體庫在 Python 中讀取和創建 Excel 文件很容易。


概述


教程

步驟 1:在您的 Python 專案中添加 IronXL 作為依賴項

要將 IronXL 庫整合到您的 Python 項目中,您必須使用廣泛使用的 Python 包管理工具 pip 將其安裝為依賴項。 打開終端機並執行以下命令:

pip install IronXL

此操作將在您的項目中安裝指定版本的IronXL,使其可供導入。

[{我(IronXL for Python 依賴於 IronXL .NET 函式庫,特別是 .NET 6.0,作為其底層技術。 因此,有必要.NET 6.0 SDK安裝在您的機器上才能使用IronXL for Python。)}]


2. 加載一個 Excel 工作簿

WorkBook 類別代表一個 Excel 工作表。 要打開 Excel 文件,我們使用 WorkBook.Load 方法,並指定 Excel 文件的路徑。

# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
PYTHON

每個WorkBook可以擁有多個WorkSheet對象。 每一個代表Excel文件中的單個Excel工作表。 使用 WorkBook.GetWorkSheet 方法來檢索特定 Excel 工作表的引用。

# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
PYTHON

創建新的 Excel 文件

要創建新的Excel文件,請使用有效的文件類型來構造一個新的WorkBook對象。

# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
PYTHON

注意:使用ExcelFileFormat.XLS來支援舊版的Microsoft Excel(95 及以前).

將工作表添加到 Excel 文件中

如前所述,IronXL for Python 的 WorkBook 包含一個或多個 WorkSheet 的集合。

這是一個包含兩個工作表的工作簿在Excel中的樣子。

這是一個包含兩個工作表的工作簿在Excel中的樣子。

要創建新工作表,請使用工作表的名稱調用 WorkBook.CreateWorkSheet

workSheet = workBook.CreateWorkSheet("GDPByCountry")
PYTHON

3. 訪問儲存格值

讀取和編輯單一儲存格

要訪問個別試算表單元格的值,可以通過從其WorkSheet檢索所需單元格來實現,如下所示:

# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet

# Access cell B1 in the worksheet
cell = worksheet["B1"]
PYTHON

IronXL for Python 的 Cell 類別代表 Excel 試算表中的單個儲存格。 它包含屬性和方法,使用者可以直接訪問和修改單元格的值。

每個 WorkSheet 物件管理一個索引,包含 Excel 工作表中每個單元格的 Cell 物件。 在上面的源代碼中,我們通過其行和列索引來引用所需的單元格。(在這個情況下, 單元格 B1)使用標準陣列索引語法。

透過對單元格對象的引用,我們可以讀取和寫入試算表單元格的數據。

# Access cell B1 in the worksheet
cell = workSheet["B1"]

# Read the value of the cell as a string
value = cell.StringValue
print(value)

# Write a new value to the cell
cell.Value = "10.3289"
print(cell.StringValue)
PYTHON

讀取和寫入一系列的單元格值

Range 類別代表一個二維的 Cell 物件集合。 此集合指的是Excel單元格的實際範圍。 使用 WorkSheet 物件上的字符串索引器來獲取範圍。

參數文本是單元格的坐標(例如「A1」,如前所示)或從左到右、從上到下一範圍的單元格(例如 "B2:E5"). 也可以在WorkSheet上调用GetRange

# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
PYTHON

向試算表添加公式

Cell 的公式設置在 Formula 屬性中。

下面的代碼遍歷每個州並在C列放置百分比總計。

# Iterate through all rows with a value
for y in range(2, i):
    # Get the C cell
    cell = workSheet[f"C{y}"]
    # Set the formula for the Percentage of Total column
    cell.Formula = f"=B{y}/B{i}"
PYTHON

摘要

IronXL.Excel 是一個獨立的 Python 函式庫,用於讀取各種電子表格格式。 它不需要微軟 Excel安裝,並且不依賴於Interop。