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 ...
随机推荐
- solr介绍
solr架构图: 以下是Apache Solr的主要构建块(组件) 请求处理程序 - 发送到Apache Solr的请求由这些请求处理程序处理.请求可以是查询请求或索引更新请求.根据这些请示的要求来选 ...
- luogu3720 [AHOI2017初中组]guide[最短路]
初中组..唉 题意有点误解,当前在x点走一步,gps产生代价条件是沿非x到n的最短路走. 直接倒着跑两遍$i\sim n$的两种最短路,然后枚举每条边走的时候是否可以在两种最短路上,不是就产生1个代价 ...
- 一秒钟解决mysql使用游标出现取值乱码问题
drop procedure if exists pro_test; delimiter // create procedure pro_test() begin declare str varcha ...
- 5 解析器、url路由控制、分页、渲染器和版本
1 数据解析器 1 什么是解析器 相当于request 中content-type 对方传什么类型的数据,我接受什么样的数据:怎样解析 无论前面传的是什么数据,都可以解开 例如:django不能解析j ...
- vue中点击按钮自动截图并下载图片
点击一个按钮,截取对应区域的界面,才对截取的界面进行裁切并下载 下载 html2canvas npm install html2canvas --save 引用 : import htm ...
- 字符串操作-格式化输出-Python
字符串操作示例 去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = ...
- JavaScript赋值运算符
赋值运算符 ⑴ "=" 赋值符号 可以将符号右侧的值赋值给符号左侧的变量 ⑵ "+=" 加等于,是一个运算符 不要分开写 a += 5 等价 ...
- js拖拽文件夹上传
由于项目需要上传文件到服务器,于是便在文件上传的基础上增加了拖拽上传.拖拽上传当然属于文件上传的一部分,只不过在文件上传的基础上增加了拖拽的界面,主要在于前台的交互, 从拖拽的文件中获取文件列表然后调 ...
- cogs1355. 读书
1355. 读书 ★ 输入文件:reading.in 输出文件:reading.out 简单对比时间限制:1 s 内存限制:128 MB [题目描述] 放暑假了,CHH想趁假期提高一下 ...
- vue使用子路由时,默认的子路由视图不显示问题
解决办法是,将父级的name去掉.(大多数情况下是按name来跳转的,不过这样一改,调到父级就得用路径跳转了): 下面上一下路由的配置: { path: "/index", com ...