openpyxl、xlrd、xlwt、pandas 都能處理 Excel 表格,但用途和適合的場景不同。今天做個總結:
庫名 | 功能 | 支持格式 | 讀 | 寫 | 支持樣式 | 備注 |
openpyxl | 全面的.xlsx處理庫 | .xlsx(Excel2007+) | ? | ? | ? | 首選 |
xlrd | 讀取.xls文件的老牌工具 | .xls(最多到Excel2003) | ? | x | x | 不支持.xlsx,過時 |
xlwt | 寫入.xls文件的老牌工具 | .xls | x | ? | ? | 不支持.xlsx,過時 |
pandas | 用戶數據分析 | .xlsx .xls csv | ? | ? | x | 適合讀寫數據,不管樣式 |
通過上面的對比,可以看出來現在主要是用openpyxl和pandas,前者精細處理表格,后者處理大批量數據。
【簡單舉例】
import pandas as pd# 讀取
df = pd.read_excel("data.xlsx")# 寫入
df.to_excel("out.xlsx", index=False)
from openpyxl import load_workbookwb = load_workbook("data.xlsx")
ws = wb.active
ws['A1'] = "123"
wb.save("data.xlsx")
后面會寫一些業務中用到的openpyxl的場景,大家敬請期待。