一、安装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. java线程基础巩固---构造Thread对象你也许不知道的几件事

    关于Thread的构造在JDK文档中如下: 之后会把上面所有的构造都会学习到,这次主要是去研究一下图上标红的默认构造,当然大家肯定对于它都有些不屑,这有啥可学的,不new一个然后start线程不就启动 ...

  2. linux crontab 定时任务执行

    cron机制        cron可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制 crontab参数        -u:这个参数可以让我们去编辑其他 ...

  3. System.nanoTime与System.currentTimeMillis

    System.nanoTime提供相对精确的计时,但是不能用他来计算当前日期.(系统计时器的当前值,以毫微秒为单位) System.currentTimeMillis返回的是从1970.1.1 UTC ...

  4. 移动/Web开发必备工具!DevExtreme v19.1.7火热发布

    DevExtreme Complete Subscription是性能最优的 HTML5,CSS 和 JavaScript 移动.Web开发框架,可以直接在Visual Studio集成开发环境,构建 ...

  5. 在项目中使用Swagger接口说明

    该链接写的内容非常详细: https://blog.csdn.net/xudant/article/details/82856555

  6. CodeForces 778B - Bitwise Formula

    题意: 选择一个 m 位的二进制数字,总分为 n 个算式的答案之和.问得到最低分和最高分分别应该取哪个二进制数字 分析: 因为所有数字都是m位的,高位的权重大于低位 ,我们就从高到低考虑 ans 的每 ...

  7. vue路由登录拦截(vue router登录权限控制)

    实现原理: 哪些路由需要验证需要在路由文件router/index.js中指定: { path: '/', component: Home, name: 'Home', iconCls: 'fa fa ...

  8. ubuntu安装扩展在phpinfo显示不出来的解决办法

    在Ubuntu中使用apt-get安装了php扩展(比如redis.memcache.memcached等),在终端输入php -m是显示已加载,但是在phpinfo中无法显示,这个时候需要重启一下p ...

  9. JavaScript如何比较两个数组的内容是否相同

    今天意外地发现JavaScript是不能用==或===操作符直接比较两个数组是否相等的. alert([]==[]); // false alert([]===[]); // false 以上两句代码 ...

  10. Spring Boot教程(三十四)使用Redis数据库(2)

    除了String类型,实战中我们还经常会在Redis中存储对象,这时候我们就会想是否可以使用类似RedisTemplate<String, User>来初始化并进行操作.但是Spring ...