python 利用三方的xlrd模块读取excel文件,处理合并单元格
目的:
python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式。
总体思路:
(1)要想实现对Excel数据的读取,需要用到第三方应用,直接应用。
(2)实际操作时候和我们实际平时打开一个文件进行操作一样,先找到文件-->打开文件-->定义要读取的sheet-->读取出内容。
Excel处理合并单元格:
已存在合并单元格如下:
xlrd中的 merged_cells 属性介绍:
import xlrdworkbook = 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_valueprint( 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=3list1=[]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)
相关推荐
flycony 2020-07-05
magicandy 2020-07-04
sulindong0 2020-05-18
meylovezn 2019-12-17
socket 2019-09-02
Kwong 2019-06-30
Leewoxinyiran 2020-07-19
ericxieforever 2020-06-21
JakobHu 2019-11-04
ITxiaobaibai 2019-10-30
dxbjfu0 2019-06-26
shengge0 2014-02-07
Fitzzhang 2018-09-16
lingchen 2018-09-05
qinglv 2018-06-21
wyqwilliam 2018-01-31
Datawhale 2017-09-12
blackeagleoht 2017-01-21
zhuquan0 2017-01-21