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正则表达式
Sep 07 Python
python绘制铅球的运行轨迹代码分享
Nov 14 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
使用Python横向合并excel文件的实例
Dec 11 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
Python hashlib常见摘要算法详解
Jan 13 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
pycharm的python_stubs问题
Apr 08 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 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数组操作――获取数组最后一个值的方法
2015/04/14 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
vue cli安装使用less的教程详解
2019/07/12 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
Python入门之modf()方法的使用
2015/05/15 Python
Python从MP3文件获取id3的方法
2015/06/15 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
python实现各进制转换的总结大全
2017/06/18 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
Python基于WordCloud制作词云图
2019/11/29 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
浅谈keras中loss与val_loss的关系
2020/06/22 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
Python与C/C++的相互调用案例
2021/03/04 Python
巴黎一票通:The Paris Pass
2018/02/10 全球购物
综合办公室主任职责
2013/12/16 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
2014年终个人工作总结
2014/11/07 职场文书
小学感恩节活动总结
2015/03/24 职场文书
2015年人事科工作总结
2015/04/28 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript