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读写Excel文件方法介绍
Nov 22 Python
11个并不被常用但对开发非常有帮助的Python库
Mar 31 Python
Python实现的RSS阅读器实例
Jul 25 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
Python实现快速计算词频功能示例
Jun 25 Python
python os.listdir按文件存取时间顺序列出目录的实例
Oct 21 Python
pandas的排序和排名的具体使用
Jul 31 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
python字符串判断密码强弱
Mar 18 Python
浅谈python锁与死锁问题
Aug 14 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
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
JS中的作用域链
2017/03/01 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
python简单的三元一次方程求解实例
2020/04/02 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
行政前台岗位职责
2013/12/04 职场文书
银行门卫岗位职责
2013/12/29 职场文书
家长评语和期望
2014/02/10 职场文书
利群广告词
2014/03/20 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
民事答辩状格式范文
2015/05/21 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python