一、安装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的相关功能

 # _*_ coding:utf-8 _*_

 import xlrd,os

 #封装xlrd,fac为拼接测试用例的路径
def fcaseexcel(fac,sheetindex=0):
try:
caseurl = r"D:\shitou\pythonscript\ManageAPI\TestCase\\" + fac + ".xlsx"
assert os.path.isfile(caseurl),"文件不存在" #打开excel文件
caselist=xlrd.open_workbook(caseurl)
# 获取sheet名称
sheetname = caselist.sheet_names() # 获取sheet
casesheet = caselist.sheet_by_index(sheetindex)
return casesheet
except Exception as e:
print(str(e)) #封装xlrd中行的操作
def fcaserows(casesheet,row=-1):
try:
caserows=[]
#获取sheet的行数
rows=casesheet.nrows #获取每行的数据
if row==-1:
for crow in range(rows):
caserows.append(casesheet.row_values(crow))
else:
caserows=casesheet.row_values(row)
return caserows
except Exception as e:
raise (str(e)) def fcasecols(casesheet,col=-1):
try:
casecols=[]
#获取sheet的列数
cols=casesheet.ncols if col==-1:
#获取每列的数据
for ccol in range(cols):
casecols.append(casesheet.col_values(ccol))
else:
casecols=casesheet.col_values(col)
return casecols
except Exception as e:
raise (str(e)) def fcasecell(casesheet,row=-1,col=-1):
try:
casecell=[]
if row==-1:
if col==-1:
#获取每个单元格的数据
for crow in range(casesheet.nrows):
for ccol in range(casesheet.ncols):
casecell.append(casesheet.col_values(crow,ccol))
else:
#获取指定列的所有数据
for crow in range(casesheet.nrows):
casecell.append(casesheet.col_values(crow,col))
else:
if col==0:
#获取指定行的数据
for ccol in range(casesheet.ncols):
casecell.append(casesheet.col_values(row,ccol))
else:
#获取指定单元格的数据
casecell=casesheet.col_values(row,col)
return casecell
except Exception as e:
raise (str(e))

2、调用函数

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

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

接口

测试用例名称

测试用例

预期

登录

无参数

{}

参数错误,请参考API接口

登录

正确name和passwd

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

登录成功

Python学习笔记:读取Excel的xlrd模块的更多相关文章

  1. python学习笔记(26)-request模块

    python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...

  2. python(读取excel操作-xlrd模块)

    一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 或者在cmd窗口  pip install  ...

  3. python(读取 excel 操作 xlrd 模块)

    一.安装 xlrd 模块 到 python 官网下载 http://pypi.python.org/pypi/xlrd 模块安装,前提是已经安装了 python 环境. 或者在 cmd 窗口  pip ...

  4. 09 python学习笔记-操作excel(九)

    python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这几个模块可以使用pip安装, ...

  5. Python学习笔记4(函数与模块)

    1.Python程序的结构 Python的程序由包(package).模块(module)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...

  6. python学习笔记:第八天(模块)

    Python3 模块 脚本上是用 python 解释器来编程,如果从 Python 解释器退出再进入,那么定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文件中 ...

  7. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  8. python学习笔记(excel+requests)

    已经可以对excel简单的操作后 可以开始通过excel写测试用例 读取用例 执行用例 提前写好execl 如图: 下面是代码: #!/usr/bin/env python # -*- coding: ...

  9. python学习笔记(excel简单操作)

    现在的目标是设计一个接口自动化测试框架 用例写在excel里面 利用python自带的pyunit构建 之前已经安装好了处理excel的模块 这次简单的使用下 提前创建好excel文件 “testca ...

随机推荐

  1. c++ mfc和win32项目

    win32项目是一个底层的窗口的实现过程,它采用的库仅仅是windows.h,我们通过winain作为函数的入口,然后经过窗口类的内容的填写,窗口的注册,创建,显示刷新,到最后的消息循环,这是一个wi ...

  2. 修改虚拟机CentOS系统ip地址和主机名

    按照教程安装了虚拟机但是未配置静态IP,所以导致IP地址经常变化,CRT,mysql等连接时经常出现问题. 所以修改虚拟机内CentOS系统的IP为静态IP. 一.查看当前网关 虚拟机-->[编 ...

  3. WebClient HttpWebRequest 下载文件到本地

      处理方式: 第一种:  我们需要获取文件,但是我们不需要保存源文件的名称 public void DownFile(string uRLAddress, string localPath, str ...

  4. PHP工程师学习计划

    从开始学习PHP到现在,只是大致的对PHP的一些基础的东西了解一下,从没有制定一个较为完整的学习计划,所以自己的编程水平一直都处在基本的入门阶段,所以结合自己的实际情况制定了一个感觉还算合理的学习计划 ...

  5. Java通过腾讯邮箱发送邮件

    private static void sendEmaill() { Properties prop = new Properties(); //协议 prop.setProperty("m ...

  6. C++ SQLite的使用总结

    SQLite3简介 SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程. SQL语句是SQL ...

  7. 【洛谷P2387】魔法森林

    题目大意:给定一个 N 个点,M 条边的无向图,边有两个边权 a, b,求从 1 号节点到 N 号节点路径的两个权值和的最大值最小是多少. 题解: 对于有两个属性的结构的最优化问题,可以考虑先按照其中 ...

  8. php类相关知识---__unset和__isset

    __unset 删除非公有属性,在外部调用unset时发生,  __isset用来检测对象属性是否设置值 <?php class coach { protected $chairfit = &q ...

  9. Mysql历史版本下载地址

    Mysql历史版本下载地址:http://downloads.mysql.com/archives/community/

  10. JavaScript中undefined和not defined 的区别

    参考:某个大佬的博客 以下原创: <script type="text/javascript"> console.log(a); a = 100; </scrip ...