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

​       上一篇说到用python的Xlwt库只能写 Excel 2003 的Xls格式的文档,那么Excel 2010 的Xlsx 格式的文档要怎么读写呢?答案就是Openpyxl库。

    具体的操作案例如下:

import openpyxlclass OperationXlsx:    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.xlsx'            self.sheet_name="Sheet1"        self.workbook = openpyxl.load_workbook(self.file_path, data_only=False)        self.worksheet =self.get_data(sheet_name)    def get_data(self,sheet_name):        #通过sheet_name获取Excel的表        worksheet = self.workbook[self.sheet_name]        return worksheet    #获取行数    def get_lines(self):        return self.worksheet.max_row    #获取列数    def get_clos(self):        return self.worksheet.max_column    def get_cell_value(self,row,col):        #row,col从1开始计算        return self.worksheet.cell(row,col).value    def get_row_values(self):        str=[]        num=self.get_lines()-1        i=1        while i<=num:            str.append(self.get_row_valuesById(i))            i+=1        return str    #根据列号获取某一列的内容    def get_col_valuesById(self,col_id=None):        str = []        for cell in list(self.worksheet.columns)[col_id]:  # 获取第四行的数据            str.append(cell.value)        return str    #根据行号,找到改行的内容    def get_row_valuesById(self,row):        str=[]        for cell in list(self.worksheet.rows)[row]:  # 获取第四行的数据            str.append(cell.value)        return str    #根据首列对应的值,找到对应的行号    def get_row_num(self,case_id):        num=0        #根据Excel的格式第0列为测试用例编号        cols_data=self.get_col_valuesById(0)        for col_data in cols_data:            if case_id in col_data:                return num            num=num+1    #根据首列的值,找到行内容(即单条测试用例的数据)    def get_row_valueByString(self,row_value):        row_num=self.get_row_num(case_id=row_value)        #通过行号,获取行的值        rows_data=self.get_row_valuesById(row_num)        return rows_data    #根据(行,列)写入数据,测试结果写入,行列是从1开始的    def write_Cell_Value(self,row,col,valus):        self.worksheet.cell(row,col,valus)       # self.worksheet["B1"]="test"  sheet值赋值        self.workbook.save(self.file_path)if __name__=="__main__":    ex=OperationXlsx(sheet_name="sheet1")    ex.get_row_values()    print(ex.get_lines())    print(ex.get_clos())    print(ex.get_row_valuesById(2))    print(ex.get_col_valuesById(1))    print(ex.get_row_valueByString("case_02"))    print(ex.get_cell_value(2,3))    print(ex.get_row_num("case_01"))    ex.write_Cell_Value(2,6,"PASS")    #写入后,这里需要再次读取,缓存数据才能更新    ex=OperationXlsx(sheet_name="sheet1")    print(ex.get_cell_value(2, 6))

 

相关文章推荐:《Python---读取Excel的方法(方法一)

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

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值