Python使用xlrd实现读取合并单元格


Posted in Python onJuly 09, 2020

合并单元格

Python使用xlrd实现读取合并单元格

操作方法:

1.使用xlrd自带属性:merged_cells

# 获取表格中所有合并单元格位置,以列表形式返回 (起始行,结束行,起始列,结束列)
merged = sheet.merged_cells #结果:[(1,5,0,1),(5,9,0,1)]

2.使用循环判断是合并单元格还是普通单元格,并将合并单元格中的首行值赋值给合并单元格

def get_cell_type(row_index, col_index):
  """既能得到合并单元格也能得到普通单元格"""
  cell_value = None
  for (rlow, rhigh, clow, chigh) in merged: # 遍历表格中所有合并单元格位置信息
    # print(rlow,rhigh,clow,chigh)
    if (row_index >= rlow and row_index < rhigh): # 行坐标判断
      if (col_index >= clow and col_index < chigh): # 列坐标判断
        # 如果满足条件,就把合并单元格第一个位置的值赋给其它合并单元格
        cell_value = sheet.cell_value(rlow, clow)
        print('合并单元格')
        break # 不符合条件跳出循环,防止覆盖
      else:
        print('普通单元格')
        cell_value = sheet.cell_value(row_index, col_index)
 
    # else: 添加改行后只那一个单元格的内容5,0 会返回2个值普通单元格/合并单元格
    #   print('普通单元格')
    #   cell_value = sheet.cell_value(row_index, col_index)
 
  return cell_value
# 直接输入单元格的坐标。来获取单元格内容
# print(get_cell_type(5, 0))
 
# 利用循环输出某列的单元格内容
for i in range(1, 9):
  print(get_cell_type(i, 2))

PS:最简单的读取Excel文件中合并单元格操作

问题:

1.当输出内容时,使用坐标来获取print,若最外层有else会返回2个值(还在确认若无最外层else是否会有其他问题存在)

2.第一次使用时可以正常,再次使用时sheet.merged_cells返回列表为空??

解决方法:在打开文件中加入formatting_info=True,就能正常显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
基于python实现把图片转换成素描
Nov 13 Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
Nov 06 Python
详解Pytorch显存动态分配规律探索
Nov 17 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
Django使用channels + websocket打造在线聊天室
May 20 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 #Python
浅谈优化Django ORM中的性能问题
Jul 09 #Python
Python单元测试及unittest框架用法实例解析
Jul 09 #Python
python 抓取知乎指定回答下视频的方法
Jul 09 #Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 #Python
Python Selenium模块安装使用教程详解
Jul 09 #Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 #Python
You might like
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
javascript实现的简单的表单验证
2015/07/10 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
美国探亲签证邀请信
2014/02/05 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
年检委托书
2014/08/30 职场文书
年会邀请函范文
2015/01/30 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
Python中requests库的用法详解
2022/06/05 Python