☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜
大家好,这里是程序员晚枫。
还在手动录入Excel到深夜?百份表格批量改格式改到手腕发酸?跨表核对数据反复出错返工?打工人别硬扛了!Python里藏着5个处理Excel的“神仙库”——从基础读写、批量分析到格式美化,全场景覆盖,直接帮你省出2小时摸鱼时间!下面逐个拆解,按需捡走~
一、openpyxl:.xlsx处理的“入门首选”
openpyxl是Python处理Excel 2010+版本(.xlsx/.xlsm)的“入门界顶流”——纯Python开发,Windows、Mac、Linux都能用,API设计得清爽不绕弯,官方文档还带详细示例。新手花半小时跟着示例敲代码,就能搞定基础操作,日常办公的读写、改格式需求基本都能cover。

核心功能
基础操作全拿捏:创建/打开工作簿、工作表;轻松搞定单元格数据的读写和修改;字体(加粗、变色、调字号)、对齐方式、边框、背景色这些格式随便改;合并单元格、冻结窗格也能实现;还支持“读写模式优化”,打开大文件不卡顿。
优缺点
优点很实在:免费开源不花钱,跨平台不用挑电脑,新手看示例就会用,还不用装Microsoft Excel;优化后能扛大文件,处理几MB的表格也不卡。缺点也得提:只认.xlsx系列格式,老掉牙的.xls文件打不开;想做复杂图表的话,它就有点力不从心了。
适用场景
日常办公直接用:比如给程序员晚枫的员工信息表统一加表头颜色、加粗标题;批量更新表格里的固定字段(像全公司部门调整,一键改完);或者简单读写.xlsx文件,替代手动复制粘贴。
安装与示例
安装超简单,命令行敲一行:pip install openpyxl
给新手整个“创建带格式表格”的实用示例,复制就能跑:
from openpyxl import Workbookfrom openpyxl.styles import Font, PatternFill# 新建工作簿和工作表wb = Workbook()ws = wb.activews.title = "程序员晚枫的员工信息表" # 给工作表改个名# 写表头+加样式(加粗白字+蓝色背景)headers = ["姓名", "部门", "入职日期"]for col, header in enumerate(headers, 1): cell = ws.cell(row=1, column=col, value=header) cell.font = Font(bold=True, color="FFFFFF") # 加粗白字 cell.fill = PatternFill(start_color="4472C4", fill_type="solid") # 蓝色背景# 写数据data = [["张三", "研发部", "2025-01-15"], ["李四", "市场部", "2025-02-20"]]for row, row_data in enumerate(data, 2): # 从第2行开始写数据 for col, value in enumerate(row_data, 1): ws.cell(row=row, column=col, value=value)# 保存文件(直接生成在当前文件夹)wb.save("程序员晚枫的员工信息表.xlsx")
二、xlrd/xlwt:旧版.xls的“专属搭档”
xlrd和xlwt是处理“老古董”.xls文件的“黄金搭档”——分工超明确:xlrd负责读.xls数据,xlwt负责写.xls文件,再配个xlutils库,还能改已有.xls文件,完美解决旧格式兼容问题。重点提醒:xlrd 2.0以上版本不支持.xlsx,要处理旧文件得装1.2.0版本。

核心功能
核心能力精准匹配旧格式:xlrd能读.xls的工作表、单元格数据,还能算出行数列数,按需加载工作表省内存;xlwt能新建.xls,写数据时加基础格式(加粗、边框),合并单元格也能用;xlutils就是“粘合剂”,让xlrd读的内容能通过xlwt修改。
优缺点
优点就是“专”:专为.xls设计,老报表打开不乱码,兼容性拉满;体积小运行快,轻量不占资源。缺点也明显:xlrd不支持新格式.xlsx,xlwt写的文件最多只能放65536行(超了会报错);高级格式和图表基本做不了,只能满足基础需求。
适用场景
适配场景很明确:公司整理历史档案,一堆2010年前的.xls报表要提取数据;批量汇总多个旧版销售报表的关键数据;生成不超过6万行的旧格式报表(比如给还在用老Excel的客户发文件)。
安装与示例
安装要指定xlrd版本,命令行敲:pip install xlrd==1.2.0 xlwt xlutils
最常用的“读旧版.xls”示例,复制即用:
import xlrd# 打开旧版.xls文件(路径换成自己的)workbook = xlrd.open_workbook("旧版销售数据.xls")# 取第一个工作表(也能按名字取:sheet_by_name("1月销售"))worksheet = workbook.sheet_by_index(0)# 读表头(第一行)headers = [worksheet.cell_value(0, col) for col in range(worksheet.ncols)]print("表头:", headers)# 读所有数据行(跳过表头)for row in range(1, worksheet.nrows): row_data = [worksheet.cell_value(row, col) for col in range(worksheet.ncols)] print(f"第{row}行数据:", row_data)
三、pandas:Excel数据处理的“效率王者”
pandas虽不是专门为Excel设计的,但处理Excel批量数据的能力,堪称办公界的“天花板”!它能用“DataFrame”表格格式加载Excel数据,筛选、排序、汇总都是秒级完成,再搭openpyxl或xlrd当“引擎”,新旧格式都能搞定。

核心功能
批量操作是强项:单份/多份Excel一键读取,还能指定读某张工作表;用DataFrame做数据筛选、去重、分组统计(比如按区域算销售额),甚至补缺失值;多表合并也轻松(比如把业绩表和考勤表按员工ID拼在一起);处理完的数据直接写回Excel,还能分拆到不同工作表。
优缺点
优点太香了:批量数据处理速度飞起,一行代码搞定人工几小时的统计;多表合并、数据清洗这些复杂操作不用写循环;新旧格式都兼容。缺点也得接受:对Excel的格式(字体、颜色)控制很弱,想美化报表得换别的库;新手要先学下DataFrame的基础用法(不难,半小时入门)。
适用场景
办公场景高频用:月度销售数据汇总(按区域、产品统计);十几份Excel报表合并去重(比如各门店的销售表汇总成全国表);清洗数据(删除空行、修正错误格式);生成数据透视表风格的统计结果(比Excel手动拖更灵活)。
安装与示例
安装要带引擎(处理.xlsx用openpyxl):pip install pandas openpyxl
打工人最常用的“多表汇总”示例,超实用:
import pandas as pd# 要汇总的Excel文件列表(换成自己的文件名)file_names = ["1月销售.xlsx", "2月销售.xlsx"]# 批量读取所有文件并合并成一个表格all_data = pd.concat([ pd.read_excel(file, engine="openpyxl") # 用openpyxl当引擎读.xlsx for file in file_names])# 按“区域”汇总“销售额”(表格要真有这两列哦)sales_summary = all_data.groupby("区域")["销售额"].sum().reset_index()# 写回新Excel,分两个工作表存with pd.ExcelWriter("季度销售汇总.xlsx", engine="openpyxl") as writer: all_data.to_excel(writer, sheet_name="原始数据", index=False) # 存原始数据 sales_summary.to_excel(writer, sheet_name="区域汇总", index=False) # 存汇总结果print("汇总完成!直接打开‘季度销售汇总.xlsx’看结果~")
四、xlsxwriter:Excel格式美化的“颜值担当”
xlsxwriter是Excel“颜值担当”——虽然不能读Excel文件,但做格式美化和图表的能力拉满!单元格格式、条件格式、数据验证都能精细控制,还能做折线图、柱状图这些专业图表,生成的Excel报表堪比专业排版,拿去给老板汇报超有面。

核心功能
美化能力拉满:字体、颜色、边框、背景色想怎么调就怎么调;条件格式超实用(比如销售额低于5万标红预警);还能限制单元格输入(比如只能填数字);生成的图表带标题、图例、数据标签,比Excel手动做的还规整;插入图片、超链接也没问题。
优缺点
优点就是“美且强”:格式控制精细到像素,图表专业度高;支持内存优化,生成几十MB的大报表也不崩;API清晰,看示例就会用。缺点也明确:只能新建Excel,不能读也不能改已有文件;只认.xlsx,老格式.xls不支持。
适用场景
汇报场景必用:做月度业绩报表,加个专业柱状图;做库存预警表,低于安全库存自动标红;做公司统一的报销单、申请表模板,格式固定不混乱。
安装与示例
安装一行命令:pip install xlsxwriter
给新手整个“带条件格式+图表”的汇报报表示例:
pip install pywin32
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










