Python自动化测试,Excel数据驱动读取 xlrd实战(超详细)

news2024/9/20 14:41:48

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

xlrd模块安装

pip install xlrd

xlrd常用方法

1、导入模块
import xlrd
2、打开文件

x1 = xlrd.open_workbook("data.xlsx")

3、获取sheet
获取所有sheet名字:x1.sheet_names()
获取sheet数量:x1.nsheets
获取所有sheet对象:x1.sheets()
通过sheet名查找:x1.sheet_by_name("test”)
通过索引查找:x1.sheet_by_index(3)

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

import xlrd
import os

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

print(filePath)


# 1、打开文件
x1 = xlrd.open_workbook(filePath)

# 2、获取sheet对象
print 'sheet_names:', x1.sheet_names()  # 获取所有sheet名字
print 'sheet_number:', x1.nsheets        # 获取sheet数量
print 'sheet_object:', x1.sheets()       # 获取所有sheet对象
print 'By_name:', x1.sheet_by_name("test")  # 通过sheet名查找
print 'By_index:', x1.sheet_by_index(3)  # 通过索引查找

输出:

sheet_names: [u' plan', u'team building', u'modile', u'test']
sheet_number: 4
sheet_object: [<xlrd.sheet.Sheet object at 0x10244c190>, <xlrd.sheet.Sheet object at 0x10244c150>, <xlrd.sheet.Sheet object at 0x10244c110>, <xlrd.sheet.Sheet object at 0x10244c290>]
By_name: <xlrd.sheet.Sheet object at 0x10244c290>
By_index: <xlrd.sheet.Sheet object at 0x10244c290>

4、获取sheet的汇总数据

获取sheet名:sheet1.name
获取总行数:sheet1.nrows
获取总列数:sheet1.ncols

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

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)
print(filePath)

# 打开文件
x1 = xlrd.open_workbook(filePath)

# 获取sheet的汇总数据
sheet1 = x1.sheet_by_name("plan")
print "sheet name:", sheet1.name   # get sheet name
print "row num:", sheet1.nrows  # get sheet all rows number
print "col num:", sheet1.ncols  # get sheet all columns number

输出:

sheet name: plan
row num: 31
col num: 11

5、单元格批量读取
行操作:

sheet1.row_values(0)  # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
sheet1.row(0)           # 获取单元格值类型和内容
sheet1.row_types(0)   # 获取单元格数据类型
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# 单元格批量读取
print sheet1.row_values(0)  # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
print sheet1.row(0)         # 获取单元格值类型和内容
print sheet1.row_types(0)   # 获取单元格数据类型

输出:

[u'learning plan', u'', u'', u'', u'', u'', u'', u'', 123.0, 42916.0, 0]
[text:u'learning plan', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', number:123.0, xldate:42916.0, bool:0]
array('B', [1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4])

表操作:

sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容
sheet1.row_types(1, 0, 2)   # 获取单元格数据类型
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

print filePath

# 1、打开文件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# 列操作
print sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
print sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
print sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容,同sheet1.row(0)
print sheet1.row_types(1, 0, 2)     # 获取单元格数据类型

输出:

[u'', u'', 123.0, 42916.0]
[u'learning plan', u'\u7f16\u53f7', 1.0, 2.0, 3.0]
[number:1.0, text:u'\u7ba1\u7406\u5b66\u4e60']
array('B', [1, 1])

6、特定单元格读取
获取单元格值:

sheet1.cell_value(1, 2)
sheet1.cell(1, 2).value
sheet1.row(1)[2].value 

获取单元格类型:

sheet1.cell(1, 2).ctype
sheet1.cell_type(1, 2)
sheet1.row(1)[2].ctype
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# 特定单元格读取
# 取值
print sheet1.cell_value(1, 2)
print sheet1.cell(1, 2).value
print sheet1.row(1)[2].value

#取类型
print sheet1.cell(1, 2).ctype
print sheet1.cell_type(1, 2)
print sheet1.row(1)[2].ctype

7、(0,0) 转换A1

xlrd.cellname(0, 0)   # (0,0)转换成A1
xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1
xlrd.colname(30)  # 把列由数字转换为字母表示
# -*- coding:utf-8 -*-

import xlrd
import os

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

# 打开文件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# (0,0)转换成A1
print xlrd.cellname(0, 0)   # (0,0)转换成A1
print xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1
print xlrd.colname(30)  # 把列由数字转换为字母表示

输出:

A1
$A$1
AE

8、数据类型

空:0
字符串:1
数字:2
日期:3
布尔:4
error:5
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每个人都有潜力成为更好的自己,只要勇敢追求梦想、不断努力、坚持不懈,就能够超越自我、创造精彩人生。无论遇到多大的挑战,我们都要保持信心和勇气,相信自己一定能够战胜困难,实现理想。

只有不断努力,才能实现自己的梦想。每天都要给自己一个小目标,用行动去践行它,坚持下去就会看到成果。相信自己,勇敢前行,成功属于你!

每一天都是一个崭新的开始,不要让昨天的失败阻碍你追求成功的步伐。相信自己,坚持努力,你就一定能够实现自己的梦想。成功需要行动,让你的行动成为梦想的起点!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/691198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JS逆向系列之猿人学爬虫第16题-window蜜罐

文章目录 目标网站参数定位与加密逻辑分析补全后的jspython调用测试往期逆向文章推荐目标网站 https://match.yuanrenxue.cn/match/16参数定位与加密逻辑分析 t就是时间戳,m是我们主要逆向的参数,跟栈进入window

mysql之mha高可用

目录 一、MHA的相关知识 1&#xff09;什么是 MHA 2&#xff09;MHA 的组成 &#xff08;1&#xff09;MHA Node&#xff08;数据节点&#xff09; &#xff08;2&#xff09;MHA Manager&#xff08;管理节点&#xff09; 3&#xff09;MHA 的特点 二、MHA的一主两从部…

Java中创建对象的方式有几种?

使用new关键字 这是最常见也是最简单的创建对象的方式了。通过这种方式&#xff0c;我们可以调用任意的构造函数(无参的和带参数的)。 Student s new Student();2.使用Class类的newInstance方法&#xff08;反射&#xff09; 我们也可以使用Class类的newInstance方法创建对象…

必要条件与充分条件

关于对充分条件、必要条件、充要条件的最简单扼要的理解&#xff1a; 充分条件&#xff1a;有A就一定有B&#xff0c;则A是B的充分条件&#xff1b; 必要条件&#xff1a;无A就一定无B&#xff0c;则A是B的必要条件&#xff1b; 充要条件&#xff1a;有A就一定有B&#xff0…

黑客是怎样练成的

网学黑客技术的人越来越多了&#xff0c;不少人都不知道该怎么学&#xff0c;今天就来详细的说一说黑客是如何炼成的。 首先&#xff0c;什么是黑客&#xff1f; 黑客 &#xff1a;泛指擅长IT技术的电脑高手 黑客一词&#xff0c;源自英文Hacker&#xff0c;早期其实就是一群…

6月27日亚马逊云科技中国峰会议程抢先看

大会亮点预览 ● 汇聚百余位重磅嘉宾共同探路云端 ● 技术分享与发布 赋能数字化转型创新 ● 共同探索行业转型之道 驱动创新价值 ● 聚焦前沿科技 云计算年度热点话题盘点 ● 热点主题展示 打造数字科技创新型展区 ● 开发者专属版块 学玩一体 高效进阶 ● Amazon De…

海外网红营销潜藏的风险:如何规避失败的可能性?

在数字化时代&#xff0c;海外网红营销已成为品牌推广的重要策略。然而&#xff0c;不少企业在海外网红营销中遭遇失败&#xff0c;导致推广效果不佳甚至适得其反。本文Nox聚星将和大家探讨海外网红营销失败的原因&#xff0c;并详细分析其中的关键问题。 1、文化差异 海外网红…

string类学习

本篇将深入学习string类&#xff0c;通过各个测试函数玩遍cstring类&#xff0c;学到就是赚到&#xff01;&#xff01;&#xff01; 文章目录 1.头文件和源文件1.1源文件1.2头文件 2.构造函数3.赋值重载函数4.元素访问运算符5.迭代器5.1正向迭代器5.2反向迭代器 6.添加字符串…

github本地修改后不想提交

本地做了修改后&#xff0c;不想提交&#xff0c;想恢复如初&#xff0c;如果直接git reset --hard 会提示你本地还有没暂存的文件。 所以可以先暂存&#xff0c;然后再回退

Linux ~ NFS 文件共享

Ubuntu 下载nfs服务软件包 sudo apt-get install nfs-kernel-server配置nfs vim /etc/exports表头表头/mnt/*指示要共享的目录*代表允许所有的网络段访问rw指示具有可读写的权限sync指示资料同步写入内存和硬盘no_root_squash客户端分享目录使用者的权限 启动rpcbind服务 …

Databend 开源周报 第 99 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 Flink CDC Apa…

【AudioCaps数据集】windows10下载AudioCaps数据集,附百度网盘下载链接

&#x1f525; AudioCaps是从AudioSet数据集中筛选再加工得到的数据集。 AudioCaps数据集的下载使用python的第三方库 audiocaps-download&#xff0c;根据README.md的提示&#xff0c;先进行配置下载环境&#xff1a; &#x1f4e3; AudioCaps的下载环境配置分为四步&#x…

Windows 10, version 22H2 (updated Jun 2023) 中文版、英文版下载

Windows 10, version 22H2 (updated Jun 2023) 中文版、英文版下载 请访问原文链接&#xff1a;https://sysin.org/blog/windows-10/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org Windows 10 更新历史记录 Windows 10, ver…

解决vue依赖报错SockJSServer.js出现Cannot read property ‘headers‘ of null

前言 在做新的需求需要变更vue的项目代码时突然出现报错 TypeError: Cannot read property ‘headers’ of null at Server.socket.on (***/node_modules/webpack-dev-server/lib/servers/SockJSServer.js:68:32) 不清楚为什么突然出现了这个问题&#xff0c;之前在这个vue项目…

8.9 实现UDP通信

目录 write/read到send/recv 函数原型&#xff1a; 常见flags: sendto与recvfrom UDP通信的实现过程 服务器端代码、 客户端代码 Makefile write/read到send/recv 函数原型&#xff1a; ssize_t send(int sockfd, const void *buf, size_t len, int flags); ssize_t …

最优化方法(基于lingo)之 目标规划问题求解(6/6)

一、实验目的&#xff1a; 1. 练习建立实际问题的多目标规划模型。 2. 掌握用数学软件求解多目标规划的方法。 3. 实验从算法思想、实验步骤与程序、运行结果、结果分析与讨论等几方面完成。 4. 预习多目标规划的理论内容。 二、实验内容 题目&#xff1a; 建立模型并求解&…

一篇文章告诉你,全网爆款抓包工具的优劣势

前言 作为软件测试工程师&#xff0c;抓包总是不可避免&#xff1a;遇到问题要做分析需要抓包&#xff1b;发现 bug 需要定位要抓包&#xff1b;检查数据传输的安全性需要抓包&#xff1b;接口测试遇到需求不全的也需要抓包... 就因为抓包在测试工作中无处不在&#xff0c;所以…

TuyaOS 开发固件OTA配置指南

文章目录 一、固件升级配置升级信息设置配置中英文升级文案配置发布范围固件升级验证 二、固件升级发布 通过TuyaOS接入涂鸦云的产品全部默认支持固件OTA功能&#xff0c;TuyaOS设备实现固件OTA需要&#xff1a; 自定义产品创建TuyaOS嵌入式开发固件上传固件OTA配置与发布 等步…

PMP知识点汇总完善版,2023年8月考试就靠它了

第1章 整体管理 1.1 制定项目章程 是制定一份正式批准项目或阶段的文件&#xff0c;并记录能反应干系人需要和期望的初步要求的过程。由项目以外的人员批准&#xff0c;如发起人&#xff0c;批准标志项目的正式启动。 1.1.1 知识点汇总 1、由项目以外的人员批准&#xff0c;如…

Mac iterm Ctrl + V内容前后出现了0~ 1~

背景 笔者周六日加班的时候&#xff0c;被小外甥看到&#xff0c;小外甥就对电脑玩了起来&#xff0c;玩完就这样了 现象 iterm2中复制黏贴出现如下现象&#xff1a; 解决 经过了解是启用了括号粘贴&#xff0c;不得不感叹两岁小外甥这天赋真逆天啊&#xff0c;不辜负他爸…