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中的变量如何开辟内存
Jun 26 Python
Python操作word常见方法示例【win32com与docx模块】
Jul 17 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
python global关键字的用法详解
Sep 05 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
python有几个版本
Jun 17 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 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新手上路(九)
2006/10/09 PHP
php数组查找函数总结
2014/11/18 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
python中list常用操作实例详解
2015/06/03 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
HTML5新标签兼容——&gt; 的两种方法
2018/09/12 HTML / CSS
外企C语言笔试题
2013/11/10 面试题
一夜的工作教学反思
2014/02/08 职场文书
文秘应届生求职信
2014/07/05 职场文书
见习报告格式要求
2014/11/04 职场文书
中学生思想品德评语
2014/12/31 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript