当前位置: 首页 > news >正文

Python-openpyxl高级操作

获取单元格属性

单元格基本信息

除了 value(值),单元格还有以下常用属性:

属性说明示例
cell.row行号(从1开始)2
cell.column列号(从1开始)2
cell.coordinate坐标'B2'
cell.value单元格值'李白'

代码示例

from openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook["花名册"] # 获取单元格 cell = sheet["B2"] # 李白 cell2 = sheet["C4"] # 96 # 打印单元格属性 print(f"单元格 {cell.coordinate}:") print(f" 行号: {cell.row}") print(f" 列号: {cell.column}") print(f" 值: {cell.value}") print(f"\n单元格 {cell2.coordinate}:") print(f" 行号: {cell2.row}") print(f" 列号: {cell2.column}") print(f" 值: {cell2.value}")

运行结果

单元格 B2: 行号: 2 列号: 2 值: 李白 单元格 C4: 行号: 4 列号: 3 值: 96

应用场景

  • 遍历单元格时需要知道当前位置
  • 根据行列号进行条件判断
  • 动态生成坐标

获取区域数据进阶

按列获取数据:sheet.iter_cols()

上一篇我们学了 iter_rows() 按行获取数据,现在学习 iter_cols() 按列获取

from openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook["花名册"] # 按列获取数据(第1-2列,第1-4行) print("按列获取数据:\n") for col in sheet.iter_cols(min_row=1, max_row=4, min_col=1, max_col=2): print(f"列数据: {[cell.value for cell in col]}")

运行结果

按列获取数据: 列数据: ['学号', '1', '2', '3'] 列数据: ['姓名', '李白', '甄姬', '后羿']

对比记忆

  • iter_rows() → 横向遍历,一行一行读取
  • iter_cols() → 纵向遍历,一列一列读取

快速获取所有行列:sheet.rows / sheet.columns

from openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook["花名册"] # 获取所有行 print("所有行数据:") for row in sheet.rows: print([cell.value for cell in row]) # 获取所有列 print("\n所有列数据:") for col in sheet.columns: print([cell.value for cell in col])

效果等同于

  • sheet.rows = sheet.iter_rows()
  • sheet.columns = sheet.iter_cols()

注意:这两个属性会加载所有数据,大数据量时建议使用 iter_rows() / iter_cols()


行列操作

插入空行/空列

方法语法说明
插入行sheet.insert_rows(idx, amount)在 idx 行前插入 amount 行
插入列sheet.insert_cols(idx, amount)在 idx 列前插入 amount 列

代码示例

from openpyxl import load_workbook filePath = r'D:\王者小学.xlsx' workbook = load_workbook(filePath) sheet = workbook['花名册'] # 在第3行前插入2行空行 sheet.insert_rows(idx=3, amount=2) # 在第2列前插入1列空列 sheet.insert_cols(idx=2, amount=1) workbook.save(r'D:\王者
http://www.cnnetsun.cn/news/3742051.html

相关文章:

  • 基于51单片机的双通道波形发生器设计:从DAC原理到Proteus仿真
  • HarmonyOS 5.0.0 WebSocket 断线重连怎么写稳:前后台切换、网络变化和消息补偿怎么拆
  • 开源 AI 工具在前端工程中的现实可用性评估:成本、性能与定制化分析
  • 小龙虾Windows版OpenClaw 2026免费下载,配置详解
  • 香橙派/树莓派OpenCV环境搭建:从系统烧录到摄像头测试全攻略
  • BIC建模与法诺共振在电磁仿真中的应用
  • 进程管道通讯-伪终端方式
  • SpringBoot+Vue车辆管理系统毕业设计实战指南
  • LangChain 模型创建与调用实战:从 init_chat_model 到企业级多模型接入
  • Midscene.js终极指南:5分钟用自然语言实现跨平台UI自动化的完整教程
  • C++ std::map排序本质解析:从键排序到值排序的实战指南
  • 2024年C语言学习指南:从零基础到实战进阶
  • Android Gradle构建:自定义APK命名规范与实战配置详解
  • Elasticsearch数据同步接口设计与实现:Python异步批量写入最佳实践
  • 流量重构:从SEO到GEO的“范式转移“
  • Google AI Overviews 搜索变革:从查找工具到解答服务的效率跃迁
  • ppInk:Windows屏幕标注终极解决方案,让你的演示教学效率翻倍
  • 网络编程协议面试经典
  • stm32进入函数一直弹这个
  • React入门:从声明式UI到组件化开发的核心思维与实践
  • OpenResty为什么选择Lua
  • STM32 ADC与DMA高效数据采集:原理、配置与实战避坑指南
  • Kinect v2与Unity集成:从环境配置到骨骼追踪的完整开发指南
  • 思源宋体CN完全指南:为什么7种字重开源字体是中文排版的最佳选择?
  • RLVR(可验证奖励强化学习)深度解析:从 GRPO 到 DAPO 的大模型推理能力训练新范式
  • 2026论文分阶段工具排行榜|开题/写作/降重/查重/答辩全覆盖✅
  • 软考高项论文写作全攻略:从理论到实战的45分通关秘籍
  • Pandas DataFrame.info() 方法深度解析:从数据诊断到内存优化
  • Kimi K3 API 返回空 content,不一定是中转坏了:先检查 max_tokens
  • 从C到C++:面向对象、内存管理与STL的实战进化指南