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的dict,set,list,tuple应用详解
Jul 24 Python
12步教你理解Python装饰器
Feb 25 Python
python决策树之C4.5算法详解
Dec 20 Python
python实现txt文件格式转换为arff格式
May 31 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
python操作日志的封装方法(两种方法)
May 23 Python
Python学习笔记之变量、自定义函数用法示例
May 28 Python
Python Tkinter模块 GUI 可视化实例
Nov 20 Python
PyQt5中多线程模块QThread使用方法的实现
Jan 31 Python
python hmac模块验证客户端的合法性
Nov 07 Python
python3实现Dijkstra算法最短路径的实现
May 12 Python
golang特有程序结构入门教程
Jun 02 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
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
JavaScript中“+=”的应用
2007/02/02 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
python微信公众号之关键词自动回复
2018/06/15 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
计算机专业优秀大学生自我总结
2014/01/21 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
贷款收入证明格式
2015/06/24 职场文书
董事长开业致辞
2015/07/29 职场文书
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python