使用Python讀取Excel檔案的方法|深入解說pandas與openpyxl的用法

1. 前言

Python 是眾多程式語言中非常受歡迎的一種,廣泛應用於資料分析與自動化領域。尤其在處理 Excel 檔案時,透過 Python 的函式庫可以更有效率地操作資料。本文將從基礎開始,詳細說明如何使用 Python 讀取 Excel 檔案。

2. 使用 Python 操作 Excel 檔案的準備工作

要在 Python 中處理 Excel 檔案,需要安裝專用的函式庫。本節將說明所需函式庫的安裝方式與開發環境的準備。

Python 的開發環境

首先,請確認您的電腦已安裝 Python。您可以在終端機或命令提示字元中輸入以下指令來查看 Python 的版本。

python --version

建議使用的版本為 3.7 以上。

安裝所需的函式庫

操作 Excel 時,以下是兩個主要使用的函式庫:

  1. openpyxl:可讀寫 Excel 檔案(.xlsx)。
  2. pandas:以資料框(DataFrame)格式處理資料,適合用於資料分析。

安裝指令如下:

pip install openpyxl pandas

安裝完成後,您就可以在 Python 中使用這些函式庫來操作 Excel 檔案。

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. 使用 openpyxl 讀取 Excel 檔案

openpyxl 是一個可以直接操作 Excel 檔案的函式庫。本節將介紹其基本的使用方法。

讀取工作簿(Workbook)

首先,我們來看看如何開啟一個 Excel 檔案。

from openpyxl import load_workbook

# 讀取 Excel 檔案
workbook = load_workbook("example.xlsx")

# 查看工作表名稱
print(workbook.sheetnames)

以上程式碼會開啟名為 example.xlsx 的檔案,並列出其中包含的所有工作表名稱。

選擇工作表並取得儲存格的值

以下是選擇特定工作表並讀取儲存格資料的方法。

# 選擇工作表
sheet = workbook["Sheet1"]

# 取得特定儲存格的值
value = sheet["A1"].value
print(f"A1 儲存格的值: {value}")

儲存格的位置使用「欄位+列數」的方式指定(例如:A1)。

4. 使用 pandas 讀取 Excel 檔案

pandas 是專為資料分析設計的函式庫,可以輕鬆將 Excel 檔案轉換為資料框(DataFrame)格式。

將 Excel 檔案轉換為資料框

以下示範如何使用 pandas 的 read_excel 函數來讀取 Excel 檔案。

import pandas as pd

# 讀取 Excel 檔案
df = pd.read_excel("example.xlsx")

# 顯示資料框前 5 筆資料
print(df.head())

執行以上程式碼後,Excel 中的資料會以表格形式顯示出來。

讀取特定的工作表或範圍

透過指定工作表名稱或資料範圍,可以更有效率地操作資料。

# 讀取特定工作表
df = pd.read_excel("example.xlsx", sheet_name="Sheet1")

# 只讀取特定欄位
df = pd.read_excel("example.xlsx", usecols="A:C")
print(df)

 

侍エンジニア塾

5. openpyxl 和 pandas 的使用差異

openpyxl 和 pandas 各自適用於不同的情境。本節將比較兩者的特點,並提供適合的使用建議。

函式庫特點適用範例
openpyxl可細緻操作 Excel 檔案針對單一儲存格進行編輯、設定格式
pandas專注於資料分析與處理進行資料彙總、篩選等處理

使用情境的範例

  • openpyxl:需要保留 Excel 格式並進行編輯時使用。
  • pandas:當需要處理大量資料並進行快速分析時使用。

6. 實作範例:處理與儲存 Excel 資料

本節將示範如何實際處理 Excel 資料,並將結果儲存為新的檔案。

資料處理

以下範例會根據條件篩選資料,並儲存為新的 Excel 檔案。

import pandas as pd

# 讀取 Excel 資料
df = pd.read_excel("example.xlsx")

# 根據條件篩選資料(如:銷售額大於 1000)
filtered_df = df[df["銷售"] > 1000]

# 將處理後的資料儲存成新的 Excel 檔案
filtered_df.to_excel("filtered.xlsx", index=False)
print("已儲存為新檔案")

上述程式碼會過濾出銷售金額超過 1000 的資料。

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

7. 小結

本文詳細介紹了如何使用 Python 讀取 Excel 檔案。您已學會 openpyxl 與 pandas 的基本操作,並能根據需求靈活運用。建議實際動手試試範例程式碼,逐步熟悉在 Python 中操作 Excel 的方式。