zoukankan      html  css  js  c++  java
  • Python学习笔记:读取Excel的xlrd模块

    一、安装xlrd

      可以使用命令行安装也可使用pycharm进行安装 

      表示xlrd库已经安装成功,安装成功后,我们就可以导入使用了。

    二、xlrd说明

      (1、单元格常用的数据类型包括

        0empty(空的)

        1string(text)

        2number

        3date

        4boolean

        5error

        6blank(空白表格)

      (2xlrd返回的类型

        1、在操作行和列时,返回excel数据时,已列表格式返回数据;

        2、在统计行和列时,返回数字

        3、单元格的操作,会根据不同的操作,返回的类型不同

      如:sheet.cell(rowx,colx)---返回单元格对象(包含数据类型和数据)

    三、xlrd库的使用

    1、定义使用xlrd的相关功能

     1 # _*_ coding:utf-8 _*_
     2 
     3 import xlrd,os
     4 
     5 #封装xlrd,fac为拼接测试用例的路径
     6 def fcaseexcel(fac,sheetindex=0):
     7     try:
     8         caseurl = r"D:shitoupythonscriptManageAPITestCase\" + fac + ".xlsx"
     9         assert os.path.isfile(caseurl),"文件不存在"
    10 
    11         #打开excel文件
    12         caselist=xlrd.open_workbook(caseurl)
    13         # 获取sheet名称
    14         sheetname = caselist.sheet_names()
    15 
    16         # 获取sheet
    17         casesheet = caselist.sheet_by_index(sheetindex)
    18         return casesheet
    19     except Exception as e:
    20         print(str(e))
    21 
    22 #封装xlrd中行的操作
    23 def fcaserows(casesheet,row=-1):
    24     try:
    25         caserows=[]
    26         #获取sheet的行数
    27         rows=casesheet.nrows
    28 
    29         #获取每行的数据
    30         if row==-1:
    31             for crow in range(rows):
    32                 caserows.append(casesheet.row_values(crow))
    33         else:
    34             caserows=casesheet.row_values(row)
    35         return caserows
    36     except Exception as  e:
    37         raise (str(e))
    38 
    39 def fcasecols(casesheet,col=-1):
    40     try:
    41         casecols=[]
    42         #获取sheet的列数
    43         cols=casesheet.ncols
    44 
    45         if col==-1:
    46             #获取每列的数据
    47             for ccol in range(cols):
    48                 casecols.append(casesheet.col_values(ccol))
    49         else:
    50             casecols=casesheet.col_values(col)
    51         return casecols
    52     except Exception as  e:
    53         raise (str(e))
    54 
    55 def fcasecell(casesheet,row=-1,col=-1):
    56     try:
    57         casecell=[]
    58         if row==-1:
    59             if col==-1:
    60                 #获取每个单元格的数据
    61                 for crow in range(casesheet.nrows):
    62                     for ccol in range(casesheet.ncols):
    63                         casecell.append(casesheet.col_values(crow,ccol))
    64             else:
    65                 #获取指定列的所有数据
    66                 for crow in range(casesheet.nrows):
    67                     casecell.append(casesheet.col_values(crow,col))
    68         else:
    69             if col==0:
    70                 #获取指定行的数据
    71                 for ccol in range(casesheet.ncols):
    72                     casecell.append(casesheet.col_values(row,ccol))
    73             else:
    74                 #获取指定单元格的数据
    75                 casecell=casesheet.col_values(row,col)
    76         return casecell
    77     except Exception as  e:
    78         raise (str(e))

    2、调用函数

    1 from MySQL_Connect import DbMysql   
    2  #指定测试用例的文件名
    3     casesheet=fcaseexcel(casename)
    4 
    5     # 获取测试用例,在casenum列
    6     caseapi=fcasecols(casesheet,0)
    7     wishresult=fcasecols(casesheet, 3)
    8     case = fcasecols(casesheet, 2)
    9     rcasename=fcasecols(casesheet,1)

    3、测试用例excel文档如下:

    接口

    测试用例名称

    测试用例

    预期

    登录

    无参数

    {}

    参数错误,请参考API接口

    登录

    正确namepasswd

    {"name":"admin","word":"admin123"}

    登录成功

  • 相关阅读:
    《集体智慧编程》第7章代码 Python3执行出错
    pymysql.err.IntegrityError: (1062, "Duplicate entry 'roxml-ROXML' for key 'PRIMARY'")
    Linux下MariaDB 安装及root密码设置(修改)
    Excel VBA入门(九)操作工作薄
    Excel VBA入门(八)单元格边框
    Excel VBA入门(七)注释、宏按钮及错误处理
    Excel VBA入门(六)过程和函数
    Excel VBA入门(五)Excel对象操作
    Excel VBA入门(四)流程控制2-循环控制
    Excel VBA入门(三) 流程控制1-条件选择
  • 原文地址:https://www.cnblogs.com/smallstone2018/p/10072531.html
Copyright © 2011-2022 走看看