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多线程编程方式分析示例详解
Dec 06 Python
跟老齐学Python之通过Python连接数据库
Oct 28 Python
python中os操作文件及文件路径实例汇总
Jan 15 Python
简单掌握Python的Collections模块中counter结构的用法
Jul 07 Python
numpy.std() 计算矩阵标准差的方法
Jul 11 Python
python游戏地图最短路径求解
Jan 16 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
pytorch中tensor张量数据类型的转化方式
Dec 31 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
Python OpenCV形态学运算示例详解
Apr 07 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-fpm 参数的深入理解
2013/06/03 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
php实现文件编码批量转换
2014/03/10 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
php集成开发环境详解
2019/09/24 PHP
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
python素数筛选法浅析
2018/03/19 Python
python如何让类支持比较运算
2018/03/20 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
python 项目目录结构设置
2020/02/14 Python
python要安装在哪个盘
2020/06/15 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
日期和时间问题
2015/01/04 面试题
laravel使用redis队列实例讲解
2021/03/23 PHP
三年大学自我鉴定
2014/01/16 职场文书
护士自我评价范文
2014/01/25 职场文书
民族精神月活动总结
2014/08/28 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
python 爬取天气网卫星图片
2021/06/07 Python