Python如何使用xlrd实现读取合并单元格-Python教程

资源魔 45 0

兼并单位格

操作办法:

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若何应用xlrd完成读取兼并单位格的具体内容,更多请存眷资源魔其它相干文章!

标签: Python python教程 python编程 python使用问题 xlrd

抱歉,评论功能暂时关闭!