Python如何使用xlrd实现读取合并单元格_后端开发

Python如何使用xlrd实现读取合并单元格_后端开发,第1张

实例解析Python单元测试及unittest框架用法_后端开发

这篇文章主要介绍了Python单元测试及unittest框架用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。


Python如何使用xlrd实现读取合并单元格_后端开发,第2张

合并单元格

Python如何使用xlrd实现读取合并单元格_后端开发,第3张

*** 作方法:

1.使用xlrd自带属性:merged_cells

# 获取表格中所有合并单元格位置,以列表形式返回 (起始行,结束行,起始列,结束列)

merged = sheet.merged_cells #结果:[(1,5,0,1),(5,9,0,1)]

2.使用循环判断是合并单元格还是普通单元格,并将合并单元格中的首行值赋值给合并单元格

学习python 抓取知乎指定回答下视频的方法_后端开发

这篇文章主要介绍了python 抓取知乎指定回答下视频的方法,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下。


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如何使用xlrd实现读取合并单元格的详细内容,更多请关注ki4网其它相关文章!

详细解说C语言中的两种输出对齐方式(小白必看)_后端开发

在编程调试时,通常将log信息输出到文件中,此时需要注意输出对齐方式;C语言中,有两种常见的方式,下面我们一起看看吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/561988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020-07-09
下一篇 2020-07-09

发表评论

登录后才能评论

评论列表(0条)

保存