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中random模块用法实例分析
May 19 Python
Python提取网页中超链接的方法
Sep 18 Python
Python中的日期时间处理详解
Nov 17 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
python实现逻辑回归的示例
Oct 09 Python
python Tornado框架的使用示例
Oct 19 Python
python 实现超级玛丽游戏
Nov 25 Python
详解Python 中的 defaultdict 数据类型
Feb 22 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
第七节 类的静态成员 [7]
2006/10/09 PHP
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
js+css在交互上的应用
2010/07/18 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
使用python绘制常用的图表
2016/08/27 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
python制作朋友圈九宫格图片
2019/11/03 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
《雪地里的小画家》教学反思
2014/02/22 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
学生犯错保证书
2015/05/09 职场文书
2015年环保局工作总结
2015/05/22 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python