Python使用xlrd实现读取合并单元格

 更新时间:2020年07月09日 14:37:15   作者:~blog  
这篇文章主要介绍了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之mock模块基本使用方法详解

    python之mock模块基本使用方法详解

    这篇文章主要介绍了python之mock模块基本使用方法详解,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为,需要的朋友可以参考下
    2019-06-06
  • Python产生Gnuplot绘图数据的方法

    Python产生Gnuplot绘图数据的方法

    今天小编就为大家分享一篇Python产生Gnuplot绘图数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python人工智能深度学习CNN

    Python人工智能深度学习CNN

    这篇文章主要为大家介绍了Python人工智能深度学习CNN的教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-11-11
  • python与caffe改变通道顺序的方法

    python与caffe改变通道顺序的方法

    今天小编就为大家分享一篇python与caffe改变通道顺序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】

    Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】

    这篇文章主要介绍了Python元组 tuple的概念与基本操作,结合实例形式详细分析了Python元组的定义、创建、访问、计数、推导式等常见操作技巧与操作注意事项,需要的朋友可以参考下
    2019-10-10
  • python ImageDraw类实现几何图形的绘制与文字的绘制

    python ImageDraw类实现几何图形的绘制与文字的绘制

    这篇文章主要介绍了python ImageDraw类实现几何图形的绘制与文字的绘制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 解决Keras TensorFlow 混编中 trainable=False设置无效问题

    解决Keras TensorFlow 混编中 trainable=False设置无效问题

    这篇文章主要介绍了解决Keras TensorFlow 混编中 trainable=False设置无效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python判断设备是否联网的方法

    python判断设备是否联网的方法

    这篇文章主要为大家详细介绍了python判断设备是否联网的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python实现媒体播放器功能

    python实现媒体播放器功能

    这篇文章主要为大家详细介绍了python实现媒体播放器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • python中K-means算法基础知识点

    python中K-means算法基础知识点

    在本篇文章里小编给大家整理的是一篇关于python中K-means算法基础知识点内容,有兴趣的朋友们可以学习参考下。
    2021-01-01

最新评论