python自动化_Python 实现Excel自动化办公上

今天的文章分享Python 如何轻松操作Excel 这款office 办公软件的,在Python 中你要针对某个对象进行操作,是需要安装与其对应的第三方库的,这里对于Excel 也不例外,它也有对应的第三方库,即xlrd 库。

什么是xlrd库

Python 操作Excel 主要用到xlrd和xlwt这两个库,即xlrd是读Excel ,xlwt是写Excel 的库。今天主要讲讲xlrd这个库。

常用单元格中的数据类型
  1. empty(空的)

  2. string(text)

  3. number

  4. date

  5. boolean

  6. error

  7. blank(空白表格)

安装

首先来安装一下xlrd, 安装非常简单,一条命令即可搞定:python -m pip install xlrd不报错说明模块安装成功

代码演示
import xlrdimport xlwtdata = xlrd.open_workbook("test.xls") #打开一个excel文件table=data.sheet_by_name("good")#通过sheet名查找good#针对excel中sheet操作print('sheet_names:', data.sheet_names()) # 获取所有sheet名字print('sheet_number:', data.nsheets ) # 获取sheet数量print('sheet is load:',data.sheet_loaded(2)) #通过name or index来检查某个sheet是否导入完毕print('sheet_object:', data.sheets() ) # 获取所有sheet对象,返回一个xlrd.sheet.Sheet()对象列表print('By_name:', data.sheet_by_name("test")) # 通过sheet名查找,返回一个xlrd.sheet.Sheet()对象print('By_index:', data.sheet_by_index(1) ) # 通过索引查找,返回一个xlrd.sheet.Sheet()对象#针对sheet的行的操作print("该sheet中的有效行数:",table.nrows) #获取该sheet中的有效行数print("该行对象组成的列表:",table.row(1)) #返回由该行中所有的单元格对象组成的列表print("该行对象组成的列表:",table.row_slice(1)) #返回由该行中所有的单元格对象组成的列表,与上面的效果一致print("该行数据类型组成的列表:",table.row_types(1)) #返回由该行中所有单元格的数据类型组成的列表print("该行数据组成的列表:",table.row_values(0)) #返回由该行中所有单元格的数据组成的列表print("该列的有效单元格长度:",table.row_len(1)) #返回该列的有效单元格长度#针对sheet的列的操作print("该sheet中的有效列数:",table.ncols) #获取该sheet中的有效列数print("该列中所有的单元格对象组成的列表:",table.col(1)) #返回由该列中所有的单元格对象组成的列表print("该列中所有的单元格对象组成的列表:",table.col_slice(1)) #返回由该列中所有的单元格对象组成的列表,与上面的效果一致print("该列中所有单元格的数据类型组成的列表:",table.col_types(1)) #返回由该列中所有单元格的数据类型组成的列表print("该列中所有单元格的数据组成的列表:",table.col_values(1)) #返回由该列中所有单元格的数据组成的列表#针对单元格的操作# #针对单元格的操作print("返回指定单元格对象:",table.cell(0,0))   #返回单元格对象print("返回指定单元格对象:",table.cell(0,0).value)   #返回单元格对象的值print("返回指定单元格对象的数据类型:",table.cell_type(1,1))    #返回单元格中的数据类型print("返回指定单元格对象的数据:",table.cell_value(0,0))   #返回单元格中的数据,等同于table.cell(0,0).value
输出结果展示

引用的Excel 数据格式如下:

7b4b4297cd1a60f1743dc7e189d7fbcd.png

a05212e0e58ead9a5421dff6eb2bc857.png

总结:今天主要是分享了Python 如何来操作Excel 里面的sheet,row,col,cell 等Excel 里面的元素,有了这些基础我们就可以在后面做我们想要做的了,比如:api 自动化时需要从Excel 里面获取要组织的请求数据,或者是回写我们请求后的响应值等。

备注:如果有想要演示的测试数据的,可以在:无量测试之道~技术交流群里@群主哟~

友情提示:“无量测试之道”原创著作,欢迎关注交流,禁止第三方不显示文章来源时转载。更多原创文章请扫码关注查看,交流与合作请联系:loadkernel@126.com。

QQ技术交流群:41564936

e0a9bf8d136e039ad05f9ea7b380d15d.png

一文读懂敏捷模式

Python+appium框架原生代码实现App自动化测试

AirTest-selenium基于Web实现UI自动化测试

Python API自动化测试实操

Python 测试框架之 Unittest & Pytest

Python 爬虫之Scrapy《下》

Python 爬虫之Scrapy《中》

Python 爬虫之Scrapy《上》

Shell 编程核心技术《四》

Shell 编程核心技术《三》

Git 必知必会《上》

Git 必知必会《下》

7a55447d4a4fb74b26f60cd20c1b4ff0.png

b56aec48814fb6e366fb739287f3f4b1.gif

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

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

相关文章

utf8编码为什么这么普遍,优势在哪里?

为什么需要字符集 计算机存储的和认识的东西就是0和1,我们存储的任何东西最后都会转为0和1的组合计算机才能处理,更贴切的说是我们看到的英文、中文等都是0和1组合的二进制经过一定规则转换为我们认识的字符,这个规则就是字符集。 有哪些字…

SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解

SpringBoot默认包扫描机制及ComponentScan指定扫描路径详解 SpringBoot默认包扫描机制 标注了Component和Component的衍生注解如Controller,Service,Repository就可以把当前的Bean加入到IOC容器中。那么SpringBoot是如何知道要去扫描Component注解的呢。ComponentScan做的事情…

raid卡组不同raid_RAID 类型介绍

RAID (Redundant Array of Independent/InexpensiveDisks),独立磁盘冗余阵列,是一种将多块独立的硬盘(物理硬盘)按不同的组合方式形成一个硬盘组(逻辑硬盘),从而提供比单块硬盘更大的存储容量、更高的可靠性和 更快的读写性能等。该概念最早由…

springboot前端传参date类型后台处理方式

springboot前端传参date类型后台处理方式 先说结论:建议大家直接使用JsonFormat,原因如下: 1、针对json格式:在配置文件中加以下配置 spring.jackson.date-formatyyyy-MM-dd HH:mm:ssspring.jackson.time-zoneGMT82、针对form表…

SpringBoot:解决日期转换问题和日期展示问题

本次我们解决问题:日期展示问题(返回的json中日期的格式是:“birthday”:“1988-08-07T15:00:00.0000000”);需要转化成指定的格式(年月日时分秒格式) 1、问题如 2、解决方案 在配置中加入 #时间戳统一转换 spring.jackson.date-formatyyy…

日期格式化时注解@DateTimeFormat无效的问题分析

日期格式化时注解DateTimeFormat无效的问题分析 背景 有时候我们在写接口时,需要把前台传来的日期String类型转为Date类型 这时我们可能会用到DateTimeFormat注解 在请求数据为非JSON格式时,这个注解是没有问题的,可用的; 但…

12 - java 类加载内存图

栈是线程私有的、堆是线程公有的如果不加 static 就是堆里面的属性,加了static 就是元数据区的属性

source code怎么用_code-builder代码生成器

背景本来code-builder是专门为MyBatis Enhance来编写的一块代码生成器code-builder可以用来做什么?code-builder是一款代码生成maven mojo插件,通过简单的配置就可以完成数据库内Table转换Entity或者其他实体类,想怎么生成完全根据你的个人业…

@Transactional注解的失效场景

Transactional注解的失效场景 引言 Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用Transactional注解时需要注意许多的细节,不然你会发现Transactional总是…

Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?

写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑。与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下)。 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看方案的直接跳过哦~&#x…

vue后端必须接口吗_前后端分离模式,后端说开发完才能给接口文档,合理吗

背景:汇总了下老王在其他平台的原创回复,欢迎关注老王原创公众号【软件老王】,关注不迷路。一、后端开发完接口才给出接口文档,合理吗?本人所在的项目组做项目过程中,后端不会先给出接口文档,而…

JAVA那点破事,并发、IO模型、集合、线程池、死锁、非阻塞、AQS...

JDK、JRE、JVM 三者有什么关系? 答案: JDK(全称 Java Development Kit),Java开发工具包,能独立创建、编译、运行程序。 JDK JRE java开发工具(javac.exe/java.exe/jar.exe) JRE(…

PTA 最小生成树-kruskal

7-92 最小生成树-kruskal 分数 10 全屏浏览题目 作者 任唯 单位 河北农业大学 题目给出一个无向连通图,要求求出其最小生成树的权值。 温馨提示:本题请使用kruskal最小生成树算法。 输入格式: 输出格式: 输出一个整数表示最小生成树的各边的长度之和。…

java实现单链表

链表是java数据结构中一种很基础很常见却也很重要的数据结构,JDK中许多内置jar包基于单链表实现,比如像我们熟悉的linkedList等,为什么要使用链表呢? 我们知道java中很多集合的底层是基于数组实现的,数组有一个很重要…

sql 两表数据合并_多表查询SQL语句

本篇文章中主要讲述以下内容:一、表的加法合并两张表的过程:然后运用sql语句:select 课程号,课程名称 from course union select 课程号,课程名称 from course1以上子句会把两个表中重复数据删除。要想不删除重复的行,则需要在上面…

angularjs增删改查数据_MongoDB数据读写操作(增删改查)总结

《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。一、在执行mongo.exe文件后,进入MongoDB的shell 操作1、创建一个数据库use users2、查…

SpringAop与AspectJ的联系与区别____比较分析 Spring AOP 和 AspectJ 之间的差别

SpringAop与AspectJ的联系与区别 区别 AspectJ AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。 spring aop Spring提供了四种类型的Aop支持 * 基于经典的…

ssrf漏洞内网渗透_渗透小白看了也能明白的SSRF

什么是SSRF含义服务器端请求伪造(SSRF)是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。(利用一个可发起网络请求的服务当作跳板来攻击其他服务)攻击者能够利用目标帮助攻击者访问其他想要攻击的目标攻击者要求服务器为他…

高并发之服务降级和服务熔断____服务降级、熔断、限流的区别

高并发之服务降级和服务熔断 服务降级: 服务压力剧增的时候根据当前的业务情况及流量对一些服务和页面有策略的降级,以此环节服务器的压力,以保证核心任务的进行。 同时保证部分甚至大部分任务客户能得到正确的相应。也就是当前的请求处理…

Controller数据导出Excel 详细教程——easypoi-base,easypoi-web,easypoi-annotation

Controller获取数据导出Excel&#xff0c;详细教程 1&#xff1a;导入对应依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.3</version></dependency><dependency&g…