• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python基于xlrd模块处理合并单元格

python 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

目的:

python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式。

总体思路:

本文来源gao($daima.com搞@代@#码8网^

(1)要想实现对Excel数据的读取,需要用到第三方应用,直接应用。

(2)实际操作时候和我们实际平时打开一个文件进行操作一样,先找到文件–>打开文件–>定义要读取的sheet–>读取出内容。

Excel处理合并单元格:

已存在合并单元格如下:

xlrd中的 merged_cells 属性介绍:[code]import xlrd

import xlrd
workbook = xlrd.open_workbook('./data/test_data.xlsx')
sheet = workbook.sheet_by_name('Sheet1')
merged = sheet.merged_cells # 返回一个列表 起始行,结束行,起始列,结束列)
print(merged)

读取合并单元格中的某一个单元格的值编写成一个方法:

def get_merged_cell_value(row_index,col_index):
  cell_value = None
  for (rlow, rhigh, clow, chigh) in merged:
    if (row_index >= rlow and row_index < rhigh):
      if (col_index >= clow and col_index < chigh):
        cell_value = sheet.cell_value(rlow, clow)
  return cell_value

print( get_merged_cell_value(0,1) )

给出坐标,判断是否为合并单元格:

#方法参数为单元格的坐标(x,y),如果给的坐标是合并的单元格,输出此单元格是合并的,否则,输出普通单元格
def get_merged_cell_value(row_index,col_index):
  for (rlow, rhigh, clow, chigh) in merged:
    if (row_index >= rlow and row_index < rhigh and col_index >= clow and col_index < chigh):
      print("此单元格是合并单元格")
    else:
      print("此单元格为普通单元格")

print( get_merged_cell_value(4,3) )

##读取第3列的所有数据,并进行降序排序
clox=3
list1=[]
for i in range(1,sheet.nrows):
  cell_value=float(sheet.cell_value(i,clox))
  list1.append(cell_value)
print(list1)
list1.sort()
list1.reverse()
print(list1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python基于xlrd模块处理合并单元格

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址