全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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 类似,只是方向换成了列:

  • 读第 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),内存占用低,但只能读不能改
  • 读取前确认工作表存在,避免 KeyErrorif 'Sheet1' in wb.sheetnames:

基本上就这些。用对 iter_rows 和 iter_cols,再配上 values_only=True,读取就又快又干净。


# excel  # python  # 内存占用 


相关文章: 网站制作软件免费下载安装,有哪些免费下载的软件网站?  定制建站流程解析:需求评估与SEO优化功能开发指南  Swift开发中switch语句值绑定模式  高防服务器租用如何选择配置与防御等级?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  建站之星2.7模板快速切换与批量管理功能操作指南  孙琪峥织梦建站教程如何优化数据库安全?  油猴 教程,油猴搜脚本为什么会网页无法显示?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  如何用免费手机建站系统零基础打造专业网站?  招商网站制作流程,网站招商广告语?  建站之星免费模板:自助建站系统与智能响应式一键生成  完全自定义免费建站平台:主题模板在线生成一站式服务  内部网站制作流程,如何建立公司内部网站?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何在阿里云ECS服务器部署织梦CMS网站?  上海网站制作开发公司,上海买房比较好的网站有哪些?  Swift中switch语句区间和元组模式匹配  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Python路径拼接规范_跨平台处理说明【指导】  名字制作网站免费,所有小说网站的名字?  潮流网站制作头像软件下载,适合母子的网名有哪些?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  广州建站公司哪家好?十大优质服务商推荐  定制建站模板如何实现SEO优化与智能系统配置?18字教程  如何通过老薛主机一键快速建站?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机默认首页配置指南:核心功能与访问路径优化  如何获取免费开源的自助建站系统源码?  如何在云主机快速搭建网站站点?  制作公司内部网站有哪些,内网如何建网站?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  广州营销型建站服务商推荐:技术优势与SEO优化解析  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何通过云梦建站系统实现SEO快速优化?  内网网站制作软件,内网的网站如何发布到外网?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  广州美橙建站如何快速搭建多端合一网站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  建站主机是否属于云主机类型?  制作网站的软件免费下载,免费制作app哪个平台好?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  宝塔面板如何快速创建新站点?  宝塔建站后网页无法访问如何解决?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  如何通过主机屋免费建站教程十分钟搭建网站?  怀化网站制作公司,怀化新生儿上户网上办理流程? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。