用 Python 玩转 Excel:自动化办公神器实战指南
你是否经常被以下问题困扰:
· 同一个 Excel 表要每天手动填数据、复制粘贴
· 几百个 Excel 文件需要合并、提取、分析
· 需要批量生成带格式的报表
别怕!Python 来拯救你了。本文将带你快速入门 Python 操作 Excel 的常见方法,并配上实战案例,让你在办公效率上甩别人几条街。
一、Python 操作 Excel 用哪些库?
以下是最常用的几个库,按用途分组:
库名
作用
安装方式
openpyxl
操作 .xlsx 文件,支持读写、样式
pip install openpyxl
pandas
数据处理神器,可读取、合并 Excel 表
pip install pandas
xlrd / xlwt
老牌 .xls 文件读写(不推荐)
pip install xlrd xlwt
xlsxwriter
用于写 .xlsx 文件,样式丰富
pip install XlsxWriter
pyexcel
多种格式统一接口(适合快速读写)
pip install pyexcel
推荐新手从 openpyxl 和 pandas 开始。
✍️ 二、读写 Excel 的基本用法
1. 使用 openpyxl 读取数据
from openpyxl import load_workbookwb = load_workbook('数据表.xlsx')sheet = wb.active# 读取第一行第二列单元格的值print(sheet.cell(row=1, column=2).value)2. 写入数据并保存
sheet.cell(row=2, column=2).value = '新的数据'wb.save('数据表_更新.xlsx')3. 用 pandas 快速读取整个表
import pandas as pddf = pd.read_excel('数据表.xlsx')print(df.head())三、批量处理 Excel 的实战技巧
✅ 示例 1:批量合并多个 Excel 文件
import pandas as pdimport osfolder = './excel_files/'all_data = pd.DataFrame()for file in os.listdir(folder): if file.endswith('.xlsx'): df = pd.read_excel(os.path.join(folder, file)) all_data = pd.concat([all_data, df], ignore_index=True)all_data.to_excel('合并结果.xlsx', index=False)✅ 示例 2:根据 Excel 模板自动生成报表
from openpyxl import load_workbooktemplate = load_workbook('报表模板.xlsx')sheet = template.active# 假设你要生成多个人的工资表people = [ {'name': '张三', 'salary': 8000}, {'name': '李四', 'salary': 9000},]for person in people: sheet['B2'] = person['name'] sheet['B3'] = person['salary'] template.save(f'{person['name']}_工资单.xlsx')✅ 示例 3:自动统计并生成图表(用 openpyxl)
from openpyxl import Workbookfrom openpyxl.chart import BarChart, Referencewb = Workbook()ws = wb.active# 写入数据ws.append(['部门', '销售额'])ws.append(['市场部', 12000])ws.append(['技术部', 8000])ws.append(['销售部', 15000])# 创建图表chart = BarChart()data = Reference(ws, min_col=2, min_row=1, max_row=4)categories = Reference(ws, min_col=1, min_row=2, max_row=4)chart.add_data(data, titles_from_data=True)chart.set_categories(categories)ws.add_chart(chart, 'D2')wb.save('带图表的报表.xlsx')四、常见应用场景(附关键词)
场景
方法关键词
合并多个 Excel 文件
pandas.read_excel + concat
提取某一列或某几行
df['列名'] 或 df.iloc[]
根据模板生成多个表格
openpyxl.load_workbook + 循环保存
自动生成图表
openpyxl.chart
数据清洗
pandas.dropna(), fillna(), replace()
五、企业/个人如何用起来?
· 财务报表自动生成:每月出报表,不再复制粘贴
· 程序员批量处理项目数据:配合 Excel 做数据导入/导出工具
· 数据分析师处理原始数据源:轻松做预处理和格式转换
· 老师生成学生成绩单:根据模板快速生成个性化成绩表
✅ 总结
用 Python 玩转 Excel,不只是“写代码替代手动”,更是打通你办公自动化的任督二脉。
建议刚开始可以从 pandas + openpyxl 两个库开始练习,掌握读、写、合并、样式控制、图表生成这些核心技能。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。