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 ip正则式
May 07 Python
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
May 25 Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 Python
Python中反射和描述器总结
Sep 23 Python
浅谈Python中的bs4基础
Oct 21 Python
Python正则表达式和元字符详解
Nov 29 Python
python爬取盘搜的有效链接实现代码
Jul 20 Python
python 使用opencv 把视频分割成图片示例
Dec 12 Python
Python3 元组tuple入门基础
Feb 09 Python
python怎么自定义捕获错误
Jun 29 Python
Django框架之路由用法
Jun 10 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
Javascript缓存API
2016/06/14 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
详解python上传文件和字符到PHP服务器
2017/11/24 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
员工考核管理制度
2014/02/02 职场文书
安全责任书范本
2014/04/15 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
党员检讨书范文
2014/12/27 职场文书
现场施工员岗位职责
2015/04/11 职场文书
早会开场白台词大全
2015/06/01 职场文书
小学远程教育工作总结
2015/08/13 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
python实现三次密码验证的示例
2021/04/29 Python
MongoDB支持的索引类型
2022/04/11 MongoDB