Pandas 讀取 Excel 文件全攻略:安裝、參數解析、實戰範例與常見問題

本篇教學全面介紹如何用 Pandas 讀取 Excel 文件,涵蓋安裝指引、read_excel 參數解析、單表與多表讀取、指定欄位、缺失值處理、進階應用與常見錯誤排查,並結合專案管理實務案例,協助你提升數據處理效率。

🧮 還在用 Excel 管理專案?試試這些更聰明的工具 🚀

從 Excel 升級到專業專案管理 × 自動化平台

還在用 Excel 追進度?monday.com 幫你把任務、時程、甘特圖、報表全部自動化! 支援 Excel 一鍵匯入,輕鬆轉換成更直覺的視覺化專案看板。 全球 22.5 萬家公司愛用,AI 輔助讓團隊溝通更順暢。
⭐ 最多人使用

從任務到 OKR,一站式專案與團隊協作平台

整合文件、OKR、任務與自動化流程,AI 助你更快完成工作。 也支援從 Excel 匯入專案資料。

輕鬆整理文件 × 規劃專案 × 建立資料庫

Notion AI 幫你自動生成 SOP、專案摘要與任務追蹤頁面。 從 Excel 匯入表格,打造你自己的工作空間。

Pandas 與 Excel 整合優勢簡介

Pandas 是 Python 生態系中最受歡迎的資料處理與分析工具之一,特別適合處理結構化數據如 Excel 檔案。對於專案經理、團隊協作與知識型工作者來說,經常需要從 Excel 匯入、清理、分析專案進度表、任務分派表、成本預算等資料。Pandas 不僅能快速讀取各種 Excel 格式,還能結合強大的資料處理功能(如篩選、合併、轉換),大幅提升工作效率,減少手動操作錯誤。

安裝 Pandas 及 Excel 相關依賴庫

在開始使用 Pandas 讀取 Excel 前,需先安裝 Pandas 以及對應的 Excel 讀取依賴庫。不同 Excel 格式(如 .xls、.xlsx、.xlsm、.ods)需不同依賴,以下為常見對應關係:

檔案格式 推薦依賴庫 安裝指令
.xls xlrd pip install pandas xlrd
.xlsx/.xlsm openpyxl pip install pandas openpyxl
.ods odfpy pip install pandas odfpy

建議同時安裝 Pandas 及 openpyxl,以支援主流的 Excel 檔案:

pip install pandas openpyxl

常見安裝問題與解決方法

  • 找不到 openpyxl:請確認已安裝 openpyxl,並重啟 Python 環境。
  • xlrd 不支援 .xlsx:新版 xlrd 僅支援 .xls,讀取 .xlsx 請改用 openpyxl。
  • 安裝權限問題:如遇權限錯誤,可嘗試加上 --user 參數。

read_excel 函數完整解析

Pandas 的 read_excel() 是讀取 Excel 文件的核心函數,支援多種參數以應對不同需求。以下為主要參數說明及適用情境:

參數 用途說明 常見應用/注意事項
io 檔案路徑或類檔案物件 支援本地路徑、URL
sheet_name 指定工作表(名稱/索引/列表/’all’) 預設讀第一個表,可讀多表
header 指定標題列(行號) 預設0,無標題可設為None
names 自訂欄位名稱(list) 無標題或需重命名時
index_col 指定索引欄位(欄號/欄名) 需以某欄為索引時
usecols 只讀取特定欄位(如”A:C”、[0,2]、list) 只需部分欄位時
skiprows 跳過前幾行(int/list) 檔案有多餘標頭或說明
dtype 指定欄位資料型態(dict/str) 控制欄位型態,避免自動判斷錯誤
parse_dates 指定欄位自動解析為日期 日期欄位常用
na_values 自訂缺失值標記(list/str/dict) Excel中空白或特殊符號視為缺失

常見錯誤與排查

  • ValueError: Excel file format cannot be determined:檔案副檔名或內容與格式不符,請確認檔案正確。
  • ImportError: Missing optional dependency ‘openpyxl’:需安裝 openpyxl。
  • UnicodeDecodeError:檔案編碼問題,建議確認 Excel 檔案無損壞。

Pandas 讀取 Excel 實戰範例

基本單表讀取

假設有一份專案任務表 tasks.xlsx,內容如下:

任務編號 任務名稱 負責人 狀態
1 需求分析 Alice 已完成
2 系統設計 Bob 進行中

程式碼:

import pandas as pd

df = pd.read_excel('tasks.xlsx')
print(df)

輸出說明:將整份 Excel 第一個工作表轉為 DataFrame,方便後續篩選、分析。

讀取多個工作表

若 Excel 檔案有多個工作表(如「進度」、「人員」),可指定 sheet_name 參數:

sheets = pd.read_excel('tasks.xlsx', sheet_name=['進度', '人員'])
print(sheets['進度'].head())

回傳型態:字典,鍵為工作表名稱,值為 DataFrame。

合併多表範例

若需合併多表資料:

all_sheets = pd.read_excel('tasks.xlsx', sheet_name=None)
combined = pd.concat(all_sheets.values(), ignore_index=True)

只讀取特定欄位/列

  • 只讀欄位A與C
df = pd.read_excel('tasks.xlsx', usecols=['任務編號', '負責人'])
  • 跳過前2行
df = pd.read_excel('tasks.xlsx', skiprows=2)

自定義欄名、指定索引列

  • 自訂欄名
df = pd.read_excel('tasks.xlsx', header=None, names=['ID', '名稱', '負責', '狀態'])
  • 指定索引欄
df = pd.read_excel('tasks.xlsx', index_col='任務編號')

缺失值處理

  • 自訂缺失值
df = pd.read_excel('tasks.xlsx', na_values=['NA', '無'])
  • 補齊缺失值
df.fillna('未填寫', inplace=True)

指定資料型態、日期解析

  • 指定型態
df = pd.read_excel('tasks.xlsx', dtype={'任務編號': str})
  • 日期解析
df = pd.read_excel('tasks.xlsx', parse_dates=['開始日期'])

常見錯誤與排查技巧

依賴庫缺失

  • 錯誤訊息:ImportError: Missing optional dependency ‘openpyxl’
  • 解法:執行 pip install openpyxl

格式錯誤

  • 錯誤訊息:ValueError: Excel file format cannot be determined
  • 解法:確認檔案副檔名與內容一致,或另存新檔。

編碼問題

  • 錯誤訊息:UnicodeDecodeError
  • 解法:確認 Excel 檔案未損壞,或轉存為標準格式。

FAQ

Q1:Pandas 支援哪些 Excel 檔案格式?
A:支援 .xls、.xlsx、.xlsm、.xlsb、.ods 等,需安裝對應依賴庫。

Q2:如何只讀取部分資料?
A:可用 usecols、skiprows、nrows 等參數靈活控制。

Q3:遇到「ImportError: xlrd」怎麼辦?
A:新版 xlrd 僅支援 .xls,讀取 .xlsx 請改用 openpyxl。

進階應用與實務案例

讀取大型 Excel 效能建議

  • 只讀取必要欄位(usecols)
  • 只讀取部分資料(nrows、skiprows)
  • 分批處理多個檔案

多表合併、資料清理

  • 利用 pd.concat 合併多個工作表
  • 搭配 dropnafillna 進行資料清理

專案管理/團隊協作應用

  • 匯入專案進度表,快速統計各階段完成度
  • 讀取團隊人員名單,自動分配任務
  • 分析成本預算表,找出異常支出

Pandas 與其他工具比較

工具/函式 優點 適用情境
Pandas 整合資料分析、支援多格式、效率高 分析、批次處理、資料清理
openpyxl 精細控制 Excel 格式、寫入支援佳 需操作格式、公式、批次寫入
Google Sheets API 雲端協作、即時同步 跨團隊協作、雲端自動化

建議:若需大量數據分析、資料清理,Pandas 是首選;如需操作 Excel 格式細節,openpyxl 更適合;跨團隊雲端協作則可考慮 Google Sheets API 或 Monday.com、ClickUp 這類專案管理平台。

總結與工具推薦

Pandas 讓你能高效、彈性地讀取與處理 Excel 資料,無論是專案進度追蹤、團隊協作還是數據分析,都能大幅提升工作效率。若你希望進一步優化專案管理流程,建議結合 Monday.comClickUp 等現代專案管理工具,讓數據整合與團隊協作更上一層樓。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

✨ 讓專案管理變簡單,團隊更強大!

在專案推進的每一步,效率就是競爭力。monday.com 整合進度追蹤、團隊協作與資源分配,讓你隨時掌握全局、快速解決問題。
全球18萬家專業團隊已經採用,你還在等什麼?