新闻中心
openpyxl怎样按行和按列读取excel
openpyxl按行或列读取Excel应使用1-based索引,优先调用iter_rows()和iter_cols()配合values_only=True高效获取值,避免直接遍历sheet.rows/columns或手动cell(i,j)。

openpyxl 按行或按列读取 Excel,核心在于理解它用的是“1-based索引”(行号列号从1开始),不是 Python 常见的 0-based。操作前先加载工作簿、选中工作表,再用合适的方法遍历——不是硬套 for 循环加 cell(i,j),而是优先用内置迭代器更安全高效。
按行读取:推荐用 iter_rows()
比手动 range + cell(i,j) 更简洁、更健壮,自动跳过空单元格(除非指定),也支持限定范围:
- 读全部行:for row in sheet.iter_rows(): —— 默认从第1行第1列开始
- 读指定范围:for row in sheet.iter_rows(min_row=2, max_row=5, min_
col=1, max_col=3):
- 每行返回的是 tuple of Cell 对象,取值要加 .value:[cell.value for cell in row]
- 想直接转成列表嵌套(每行一个子列表):data = [list(row) for row in sheet.iter_rows(values_only=True)](values_only=True 是关键,省去反复写 .value)
按列读取:用 iter_cols()
逻辑和 iter_rows 类似,只是方向换成了列:
Artflow.ai
可以使用AI生成的原始角色、场景、对话,创建动画故事。
92
查看详情
- 读第 A 列所有非空单元格:for col in sheet.iter_cols(min_col=1, max_col=1):
- 读 B~D 列,第3到第10行:sheet.iter_cols(min_col=2, max_col=4, min_row=3, max_row=10)
- 同样建议加 values_only=True 直接得值:[cell.value for cell in col] 或整列打包:list(sheet.iter_cols(min_col=1, values_only=True))[0](取第1列值列表)
其他实用读取方式
不总需要循环,有些场景更简单:
- 读某一行(比如第3行):row3 = list(sheet[3]) → 返回第3行所有 Cell 对象;加 values_only=True 就是值列表
- 读某一列(比如 A 列):col_a = list(sheet['A']);sheet['A:C'] 可读多列
- 读指定区域(如 A1:C5):cells = sheet['A1:C5'] → 返回二维 tuple,cells[0][0].value 是 A1 值
注意几个易错点
- 不要用 sheet.rows / sheet.columns 直接遍历:它们是生成器,遍历一次就空了,且行为不稳定;坚持用 iter_rows() 和 iter_cols()
- 空单元格默认返回 None,不是空字符串,做 str 操作前建议判空
- 如果文件很大,考虑启用 只读模式:load_workbook(filename, read_only=True),内存占用低,但只能读不能改
- 读取前确认工作表存在,避免 KeyError:if 'Sheet1' in wb.sheetnames:
基本上就这些。用对 iter_rows 和 iter_cols,再配上 values_only=True,读取就又快又干净。
以上就是openpyxl怎样按行和按列读取excel的详细内容,更多请关注其它相关文章!
# 相关文章
# 营口专业网站建设套餐
# 涿州市网站推广找哪家好
# 株洲定制型网站建设费用
# SEO教学视频横竖
# 网店推广网站图片
# 联通营销推广岗职责
# 企业网站建设及优化建议
# 网站建设遇到的客户需求
# 网络营销推广可行性方案
# 专业网站建设搭建方案
# 解决问题
# 中文网
# openpyxl
# 如何在
# 几个
# 如何用
# 行号
# 单元格
# 的是
# 遍历
# 内存占用
# python
# excel
# 读取excel
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
J*aScript数据结构转换:将对象数组按类别分组
深入理解Promise链:如何在catch后中断then的执行
Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性
处理嵌套交互式控件:前端可访问性指南
微博网页版首页入口 微博电脑端官网登录链接
QQ邮箱登录官网首页 腾讯QQ邮箱网页入口
Go语言中高效处理x-www-form-urlencoded表单数据
如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力
处理动态列数据:J*a ArrayList的正确初始化与字符累加教程
使用 Pandas 高效处理 .dat 文件:字符清理与数据计算
Golang如何优雅处理error_Golang error处理最佳实践总结
痛风发作了怎么办? 快速止痛和后期饮食调理
Spring Boot嵌入式服务器与J*a EE:功能支持深度解析
MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏
Archive of Our Own官网直达 AO3最新可用地址一览
PPT平滑切换怎么做 PPT炫酷“平滑”切换动画制作教程【必学】
J*aScript数组对象转换:按指定键分组与值收集
Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】
c++20的std::jthread是什么_c++可中断线程与RAII式管理
CKEditor 5 自定义构建在React应用中渲染失败的调试与解决
yy漫画网页版官方入口_yy漫画官网登录页面链接
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
Android Studio计算器C键功能异常排查与修复教程
《噬血代码2》新预告片发布 展示游戏剧情
荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程
Highcharts 雷达图径向轴标签定制指南:利用多Y轴实现数值标注
PHP中高效并行检查多链接状态的教程
微信群消息显示延迟如何解决 微信群消息刷新优化方法
外媒分析《GTA6》定价:卖100美元可以但真没必要!
J*a应用集成GitHub CLI与API认证指南
C++如何检测键盘输入_C++ _kbhit与_getch函数非阻塞输入
Lar*el Form Request中唯一性验证在更新操作中的正确实现
快手赚钱渠道_快手收益来源
Promise错误处理:在catch后终止链式then执行的策略
树莓派传感器触发:通过Twilio API发送WhatsApp消息教程
必由学官方登录入口 必由学教师学生账号快速访问
HTML长属性值处理:表单action路径优化与代码规范应对
C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果
《刺客信条:影》PS5 Pro和Switch 2画面对比
如何使用Go和Martini动态服务解码后的图片
ArrayList与LinkedList操作复杂度详解:遍历与修改
Windows 11怎么彻底关闭定位_Windows 11服务中禁用Geolocation
厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新
网易大神怎么保存别人动态的图片_网易大神动态图片保存方法
AO3最新官网入口公告_2025AO3镜像站实时查询方法
C++ map遍历方法大全_C++ map迭代器使用总结
C++指针和引用有什么区别_C++内存管理核心概念深度解析
哔哩哔哩忘记密码了怎么找回_哔哩哔哩密码找回方法
抖音隐秘迷城小游戏入口_ 抖音冒险解谜小游戏秒玩
在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析


2025-12-04
浏览次数:次
返回列表
col=1, max_col=3):