Python---读取Excel的方法(方法一)

​ 

 

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库
利用Xlrd模块进行Excel操作,该方法仅支持Excel 2003,xls格式,否则打开Excel时会报错。

更多的操作见下面的案例:

import xlwtfrom xlutils.copy import copyimport  xlrdclass OperationExcel:    def __init__(self,file_path=None,sheet_name=None):        if file_path!=None:            self.file_path=file_path            self.sheet_name=sheet_name        else:            self.file_path='../dataconfig/Testcase.xls'            self.sheet_name="Sheet1"        self.workbook =self.get_data()    '''    读取Excel数据,获取指定sheet_name表格的数据    '''    def get_data(self):        workbook =xlrd.open_workbook(self.file_path,formatting_info=True)        #通过sheet_name获取Excel的表        tables = workbook.sheet_by_name(self.sheet_name)        #tables=workbook .sheets()[self.sheet_id]        return tables    #获取行数    def get_lines(self):        return self.workbook.nrows    #获取列数    def get_clos(self):        return self.workbook.ncols    '''    根据(行,列)读取单元格数据    '''    def get_cell_value(self,row,col):        return self.workbook.cell_value(row,col)    #根据列名称获取某一列的内容    def get_cols_data(self,col_id=None):        if col_id!=None:            cols=self.workbook.col_values(col_id)        else:            cols=self.workbook.col_values(0)        return cols    #根据行号,找到改行的内容    def get_row_values(self,row):        tables=self.workbook        row_data=tables.row_values(row)        return row_data    #根据首列对应的值,找到对应的行号    def get_row_num(self,case_id):        num=0        #根据Excel的格式第0列为测试用例编号        cols_data=self.get_cols_data()        for col_data in cols_data:            if case_id in col_data:                return num            num=num+1    #根据首列的值,找到行内容(即单条测试用例的数据)    def get_rows_data(self,row_value):        row_num=self.get_row_num(case_id=row_value)        #通过行号,获取行的值        rows_data=self.get_row_values(row_num)        return rows_data    #根据(行,列)写入数据,测试结果写入    def write_Cell_Value(self,row,col,valus):        read_Data=xlrd.open_workbook(self.file_path,formatting_info=True)        write_Data=copy(read_Data)        sheet_data=write_Data.get_sheet(0)        #写入样式格式        style = xlwt.easyxf(            "font: name Arial;"            "pattern: pattern solid, fore_colour red;"        )        if valus=="FAILED":            sheet_data.write(row,col,valus,style)        else:            sheet_data.write(row,col,valus)        write_Data.save(self.file_path)if __name__=="__main__":    ex=OperationExcel(sheet_name="sheet1")    print(ex.get_row_values(1))    print(ex.get_cols_data(1))    print(ex.get_rows_data("case_02"))    print(ex.get_cell_value(2,3))    print(ex.get_row_num("case_01"))    print(ex.get_lines())    print(ex.get_clos())    ex.write_Cell_Value(2,5,"FAILED")    ex=OperationExcel(sheet_name="sheet1")    print(ex.get_cell_value(2, 5))

-------------------------------------最后---------------------------------

 更多软件测试相关内容请关注“软件测试道与术”公众号或扫描下方二维码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值