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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
Python实现统计英文单词个数及字符串分割代码
May 28 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
python ---lambda匿名函数介绍
Mar 13 Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 Python
Python安装Flask环境及简单应用示例
May 03 Python
python实现的汉诺塔算法示例
Oct 23 Python
python global和nonlocal用法解析
Feb 03 Python
python实现贪吃蛇游戏源码
Mar 21 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
tensorflow中的数据类型dtype用法说明
May 26 Python
方法汇总:Python 安装第三方库常用
Apr 26 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伪静态写法附代码
2008/06/20 PHP
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
改变隐藏的input中value的值代码
2013/12/30 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Python实现Linux中的du命令
2017/06/12 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
pytorch数据预处理错误的解决
2020/02/20 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
我为自己代言广告词
2014/03/18 职场文书
应届生自荐书
2014/06/23 职场文书
党在我心中演讲稿
2014/09/02 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏