Python学习笔记:读取Excel的xlrd模块
一、安装xlrd
可以使用命令行安装也可使用pycharm进行安装
表示xlrd库已经安装成功,安装成功后,我们就可以导入使用了。
二、xlrd说明
(1、单元格常用的数据类型包括
0:empty(空的)
1:string(text)
2:number
3:date
4:boolean
5:error
6:blank(空白表格)
(2、xlrd返回的类型
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:\shitou\pythonscript\ManageAPI\TestCase\\" + 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接口 |
登录 |
正确name和passwd |
{"name":"admin","word":"admin123"} |
登录成功 |