Python办公自动化连载03:读取已有Excel表格数据,遍历所有行和单元格
上一期我们学会了用代码新建Excel、自动写入数据。今天反过来,教大家:
读取已有的Excel文件,把表格里的内容拿出来、遍历每一行、每一个单元格,以后工作批量提取数据、统计信息、筛选内容,全靠这个技能。一、核心准备
还是用我们之前安装好的 openpyxl 库。
前提:
1.准备一个已存在的 xlsx 文件
2.和代码放在同一个文件夹里
3.只能处理 .xlsx,不支持 .xls 旧格式
二、打开已有Excel文件基础语法
·load_workbook(文件名):打开现有表格
·wb.sheetnames:获取这个文件里所有Sheet名字
三、三种方式选择工作表
方式1:按工作表名字选择
方式2:按索引下标选择(从0开始)
方式3:获取当前活跃工作表
任选一种就行,新手推荐按名字选,最清晰。
四、读取单个单元格数据
方法1:按单元格名称
方法2:按行列号
记住:row行、column列,都是从1开始。
五、遍历读取整个表格(最常用)
1. 遍历所有行
values_only=True 直接取出单元格的值,不用再写 .value。2. 逐行拆解每一列数据
适合单独拿出姓名、年龄、岗位:
3. 获取表格最大行数、列数
做批量循环、控制范围超好用。
六、完整可直接运行源码
把代码放在和Excel同目录,直接运行就能读取:
七、新手常见避坑
❌ Excel文件必须和代码同一个文件夹,否则要写完整路径
❌ 不能打开Excel文件再运行代码,会占用报错
❌ 只支持 .xlsx,老式 .xls 打不开
❌ 行列从1开始,不要按编程习惯从0数
本期小结
1.load_workbook() 打开已有Excel文件
2.可以按名字 / 下标 / active 选择工作表
3.两种读取单元格:按名字、按行列号
4.iter_rows(values_only=True) 一键遍历所有行
5.max_row / max_column 获取表格大小
小作业
用你上期自己做的「学生成绩表」,
写代码读取全部内容,并且格式化打印出每个学生的姓名和各科成绩。
下期预告
办公自动化连载04:Excel单元格格式设置——字体、颜色、加粗、合并单元格
学会美化表格,自动设置样式、自动合并表头,做出来的报表和人工整理一样专业!
点赞+关注,跟着新连载学Python办公自动化,从此告别加班!