Python怎么批量提取多个Excel里的指定单元格数据
时间:2026-05-04 16:30:41 256浏览 收藏
今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《Python怎么批量提取多个Excel里的指定单元格数据》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!
最稳方法是用 pandas.read_excel 配合 iloc 定位,如 header=None 后用 .iloc[1, 1] 取 B2;批量处理用 glob + os.path.join 构建路径并校验文件存在性;结果统一收集后写入,避免覆盖。

用 pandas.read_excel 读取单个 Excel 的指定单元格最稳
直接靠 openpyxl 或 xlrd 定位 A1、C5 这类坐标容易出错——尤其当表格有合并单元格、空行或格式不统一时。pandas.read_excel 虽然默认读整表,但配合 usecols 和 skiprows 参数,能更鲁棒地“瞄准”目标区域。
实操建议:
- 如果目标单元格是固定位置(比如每张表的
B2),先用header=None读全表,再用.iloc[1, 1](注意行列从 0 开始)取值,比硬解析坐标可靠 - 如果目标是某列标题下的首条数据(如“销售额”列第一行数值),用
df["销售额"].iloc[0]更语义化,也避开空标题/多级表头问题 - 别用
sheet_name=0硬编码工作表序号——改名或顺序变动就崩;优先用sheet_name="汇总"显式指定名字
批量处理多个文件:用 glob + os.path.join 构建路径最安全
写死路径(如 "C:\\data\\file1.xlsx")在不同机器上大概率报 FileNotFoundError;用相对路径又容易因工作目录变化失效。
实操建议:
- 用
import glob配合通配符:glob.glob("./input/*.xlsx"),自动收集成批文件列表 - 拼路径必须用
os.path.join("input", filename),别手写"input/" + filename—— Windows 用反斜杠,Linux/macOS 用正斜杠,不统一就报错 - 加一层
if os.path.isfile(path)判断,跳过隐藏文件或临时锁文件(如~$report.xlsx)
提取结果存成新 Excel:别用 to_excel 循环覆盖
常见错误是每读一个文件就调一次 df.to_excel("output.xlsx"),结果只有最后一个文件的数据——因为默认覆盖写入。
实操建议:
- 把每次提取的值存在列表里,比如
results.append({"文件名": name, "B2值": value}),最后统一转pd.DataFrame(results) - 要保留原始文件名作为标识,用
os.path.basename(path)提取,别用path.split("/")[-1]—— 在 Windows 上会切错 - 写入时加
index=False,否则多一列无意义的行号
遇到 xlrd.biffh.XLRDError: Excel xlsx file; not supported 怎么办
这是老版本 xlrd(.xls,不认 .xlsx。很多人 pip install 时没注意版本,或者环境里混了旧包。
实操建议:
- 直接卸载:
pip uninstall xlrd,pandas 1.2+ 已默认用openpyxl或xlrd读.xlsx,不需要手动装xlrd - 如果必须用
xlrd(比如要读旧.xls),就限定版本:pip install "xlrd<2.0",但注意它仍不支持.xlsx - 检查实际读取引擎:
pandas.read_excel(..., engine="openpyxl")显式指定,避免 pandas 自动选错
真正麻烦的不是语法,而是每个 Excel 文件的实际结构差异——有的 B2 是数字,有的是字符串带空格,有的单元格看着有值其实是公式结果为空。建议第一次跑前,先对 2–3 个样本文件单独 print 出 raw 值,确认类型和清洗逻辑,再批量执行。
今天关于《Python怎么批量提取多个Excel里的指定单元格数据》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
231 收藏
-
144 收藏
-
403 收藏
-
122 收藏
-
433 收藏
-
256 收藏
-
434 收藏
-
255 收藏
-
233 收藏
-
450 收藏
-
235 收藏
-
363 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习