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实现对一个完整url进行分割的方法
Apr 29 Python
Python类的用法实例浅析
May 27 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
详解python里的命名规范
Jul 16 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
Python语言进阶知识点总结
May 28 Python
在python中利用numpy求解多项式以及多项式拟合的方法
Jul 03 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
Django中modelform组件实例用法总结
Feb 10 Python
Python-opencv实现红绿两色识别操作
Jun 04 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 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
php判断当前操作系统类型
2015/10/28 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
Python常见数据类型转换操作示例
2019/05/08 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
python中adb有什么功能
2020/06/07 Python
工伤事故赔偿协议书
2014/04/15 职场文书
文体活动总结范文
2014/05/05 职场文书
求职简历自荐信
2014/06/18 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
了解Redis常见应用场景
2021/06/23 Redis
Python作用域和名称空间的详细介绍
2022/04/13 Python
volatile保证可见性及重排序方法
2022/08/05 Java/Android