码迷,mamicode.com
首页 > 编程语言 > 详细

python 利用三方的xlrd模块读取excel文件,处理合并单元格

时间:2020-07-04 13:42:10      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:ima   else   and   append   str   数据   http   排序   val   

  目的:

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

 总体思路:

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

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

Excel处理合并单元格:

已存在合并单元格如下:

技术图片

 xlrd中的 merged_cells 属性介绍:

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)

python 利用三方的xlrd模块读取excel文件,处理合并单元格

标签:ima   else   and   append   str   数据   http   排序   val   

原文地址:https://www.cnblogs.com/123anqier-blog/p/13234406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!