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的相关功能
# _*_ 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模块的更多相关文章
- python学习笔记(26)-request模块
python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...
- python(读取excel操作-xlrd模块)
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 或者在cmd窗口 pip install ...
- python(读取 excel 操作 xlrd 模块)
一.安装 xlrd 模块 到 python 官网下载 http://pypi.python.org/pypi/xlrd 模块安装,前提是已经安装了 python 环境. 或者在 cmd 窗口 pip ...
- 09 python学习笔记-操作excel(九)
python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这几个模块可以使用pip安装, ...
- Python学习笔记4(函数与模块)
1.Python程序的结构 Python的程序由包(package).模块(module)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...
- python学习笔记:第八天(模块)
Python3 模块 脚本上是用 python 解释器来编程,如果从 Python 解释器退出再进入,那么定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文件中 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- python学习笔记(excel+requests)
已经可以对excel简单的操作后 可以开始通过excel写测试用例 读取用例 执行用例 提前写好execl 如图: 下面是代码: #!/usr/bin/env python # -*- coding: ...
- python学习笔记(excel简单操作)
现在的目标是设计一个接口自动化测试框架 用例写在excel里面 利用python自带的pyunit构建 之前已经安装好了处理excel的模块 这次简单的使用下 提前创建好excel文件 “testca ...
随机推荐
- python3之POST请求URL
方法一:使用requests模块 import requests as rq import json def funcpost(): url = 'http://www.***.com/' # 需要请 ...
- SVN搭建以及客户端使用
第1章 CentOS下搭建SVN服务器 1.1 SVN简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. ...
- checkbox 和 selected 混淆
1.option里面的selected属性,如果我们在下拉列表里面选择了一个option那么他的selected="true" ,如果我们想设置当前的option是选中 状态的, ...
- 清北学堂dp图论营游记day5
ysq主讲: tarjan缩点+拓扑+dij最短路. floyd..... 单源..最长路... 建正反两个图. 二分答案,把大于答案的边加入到新图中,如果能走过去到终点,就可以. 或者:从大到小加边 ...
- cmd_memo
1. bind host or ip:port #指定域名 curl -H 'Host:www.tsuiz.com' http://10.14.54.131:8080/check.do #指定ip和端 ...
- static和assets的区别
assets和static两个都是用于存放静态资源文件. 放在static中的文件不会进行构建编译处理,也就不会压缩体积,在打包时效率会更高,但体积更大在服务器中就会占据更大的空间 放在assets中 ...
- MySQL 关于触发器的操作
-- 监视某种情况,并触发某种操作 --触发器创建语法四要素 1.监视地点 2.监视事件 3.触发时间 4.触发事件 -- 触发器只能创建在永久表上,不能对临时表创建触发器 create trigge ...
- 嵌入式Linux下CAN总线配置
问题背景:本人开发板使用的是迅为iTOP4412精英版,额外购买的CAN/485模块,如下图: 但是插上模块之后,在终端使用ifconfig can0命令发现开发板读不到CAN设备,显示“ifconf ...
- Acwing-285-没有上司的舞会(树型DP)
链接: https://www.acwing.com/problem/content/287/ 题意: Ural大学有N名职员,编号为1~N. 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接 ...
- 【SQL Server】使用SQL比较版本号
最近遇到这么一个场景,需要用SQL从表里取出版本号小于'10.2'的所有数据.目前表中以存在的数据中,版本号有两种格式,一个是'X.Y',另一个是'X'.对于SQL Server来说,其没有strin ...