python-封装方法用于读取excel,,1.实现获取exce


1.实现获取excel某张表的行数、单元格数据

#coding=utf-8import xlrd#获取excel文件data = xlrd.open_workbook(‘file_path/xxx.xls‘)#存放excle表格的路径#获取第一张表数据tables = data.sheets()[0]#打印表行数print(tables.nrows)#打印第4行,第3列单元格数据print(tables.cell_value(3,2))

2.封装获取表格方法

此方法需要实现的作用是:其他方法再调用此方法时,如果传入file_name和sheet_id,就调用对应路径的excel文件和对应的表。如果不传这两个字段,就调用默认表格。

def __init__(self,file_name=None,sheet_id=None):        if file_name:            self.file_name = file_name            self.sheet_id = sheet_id        else:            self.file_name = ‘file_path/xxx.xls‘            self.sheet_id = 0        self.data = self.get_data()

3.封装获取表格数据方法

封装获取tables的方法,用以之后获取单元格行数、单元格数据,或其他表信息使用。

def get_data(self):        data = xlrd.open_workbook(self.file_name)        tables = data.sheets()[self.sheet_id]        return tables

4.封装获取单元格行数方法

def get_lines(self):        tables = self.data        return tables.nrows

5.封装获取单元格数据的方法

 def get_value(self,row,col):        return self.data.cell_value(row,col)

6.封装获取总行数和总列数

 def get_nrown_ncols(self):         #获取总行数         rowNum = self.data.nrows        #获取总列数         colNum = self.data.ncols         return rowNum ,colNum 

7.写入数据到excel

def write_excel(self,row,column,value_back):        ‘‘‘        :param row: 某一列        :param value: 需要写入的值        :return:        ‘‘‘        wb=load_workbook(self.file_name)        sheel = wb[self.sheel_name]        #把值写到row,column组成的单元格        sheel.cell(row,column).value = value_back        #保存excel        wb.save(self.file_name)

整体代码如下:

#coding: utf-8import xlrdclass OpeExcel:    def __init__(self,file_name=None,sheet_id=None):        if file_name:            self.file_name = file_name            self.sheet_id = sheet_id        else:            self.file_name = ‘file_path/xxx.xls‘            self.sheet_id = 0        self.data = self.get_data()    #获取sheets的内容    def get_data(self):        data = xlrd.open_workbook(self.file_name)        tables = data.sheets()[self.sheet_id]        return tables    #获取单元格行数    def get_lines(self):        tables = self.data        return tables.nrows    #获取单元格数据    def get_value(self,row,col):        return self.data.cell_value(row,col)if __name__ == ‘__main__‘:     opers = OpeExcel()     print(opers.get_lines())     print(opers.get_value(3,2))

python-封装方法用于读取excel

评论关闭