处理Excel的python库openpyxl、xlrd、xlwt、pandas有什么区别,搞懂它
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的场景,大家敬请期待。