python之xlrd和xlwt模块读写excel使用详解
一、xlrd模块和xlwt模块是什么
      xlrd模块是python第三方工具包,用于读取excel中的数据;
      xlwt模块是python第三方工具包,用于往excel中写入数据;
二、xlrd模块和xlwt模块的安装
pip install xlrd
pip install xlwt
三、Excel表格结构如下:

四、使用xlrd模块读取excel文件
#读取excel数据
def read_excel(self,excel_path,sheet_name):
xls = xlrd.open_workbook(excel_path,formatting_info=True) # 先打开已存在的表,formatting_info=True表示保留原表格的样式
sheet = xls.sheet_by_name(sheet_name) # 通过sheet名称获得sheet对象
dataList = []
for rows in range(1,sheet.nrows):#循环行
tempList = []
for cols in range(0,sheet.ncols-2):#循环列,因为最后两列是写入结果的所以减2
if cols==0:#判断如果是第一列则直接设置行数。
tempList.append(rows)
else:
tempList.append(sheet.cell_value(rows,cols))
dataList.append(tempList)
return dataList
read_excel方法参数说明:
excel_path参数为excel文件的路径,
sheet_name参数excel文件中的sheet名称。
五、使用xlrt模块向excel文件中写入数据
#向excel中写入数据
def write_excel(self,excel_path,sheet_name,rows,cols,value):
#获得当前系统时间
current_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
# 打开已存在的表,formatting_info=True表示保留原表格的样式
book = xlrd.open_workbook(excel_path,formatting_info=True)
wb = copy(book) # 复制excel
sheet = wb.get_sheet(sheet_name) #通过sheet名称获得sheet对象
if value == 'fail':
sheet.write(rows,cols,value,style=xlwt.easyxf('pattern: pattern solid,fore_colour red;')) # 引用样式
elif value == 'ignore':
sheet.write(rows,cols,value,style=xlwt.easyxf('pattern: pattern solid,fore_colour yellow;')) # 引用样式
else:
sheet.write(rows,cols,value)
#设置时间列的宽度和值
sheet.col(cols-1).width = 5000
sheet.write(rows,cols-1,current_time)
#保存
wb.save(excel_path)
read_excel方法参数说明:
excel_path参数为excel文件的路径,
sheet_name参数excel文件中的sheet名称。
rows参数把内容写入到第几行
cols参数表示把内容写入到第几列
value参数表示写入的内容
六、执行代码如下:
if __name__ == '__main__':
eu = ExcelUtil()
#print(eu.read_excel(get_project_path()+"data/testdata.xls","查询火车票"))
eu.write_excel(get_project_path()+"data/testdata.xls","查询火车票",1,6,"pass")
eu.write_excel(get_project_path()+"data/testdata.xls","查询火车票",2,6,"ignore")
eu.write_excel(get_project_path()+"data/testdata.xls","查询火车票",3,6,"fail")
七、独行踽近,众行致远!
如果你觉得此文对你有帮助,如果你对此文有任何疑问,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣都可以加入:
软件测试技术群:695458161,群里发放的免费资料都是笔者十多年测试生涯的精华。还有同行一起交流哦。
作者:来自公众号:软测之家
出处:https://www.cnblogs.com/csmashang/p/12655841.html
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。
python之xlrd和xlwt模块读写excel使用详解的更多相关文章
- Python中xlrd和xlwt模块读写Excel的方法
		
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 着重掌握读取操作,因为实际工作中读取excel用得比较 ...
 - Python(xlrd、xlwt模块)操作Excel实例(一)
		
一.前言 关于Python的xlrd.xlwt模块的使用,推介另一位博客主的博文:https://www.cnblogs.com/zhoujie/p/python18.html 这篇里面有详细介绍这两 ...
 - Python中xlrd和xlwt模块使用方法 (python对excel文件的操作)
		
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
 - Python中xlrd和xlwt模块使用方法
		
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
 - python的xlrd、xlwt模块、openpyxl /pymsql使用
		
xlrd模块: https://www.cnblogs.com/machangwei-8/p/10736528.html#_label0 xlwt模块 https://www.cnblogs.com/ ...
 - Python中xlrd和xlwt模块使用方法----》》数据库数据导出(之一)
		
xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. (1) 打开excel文件并获取所有sheet >>> import xlrd >>& ...
 - 关于python中的包,模块导入的问题详解(一)
		
最近由于初学python,对包,模块的导入问题进行了资料的搜集,查阅,在这里做一个总结: 一: import 模块 在import的过程中发生了什么?我们用一个实验来说明: 以上截图表明:在impor ...
 - 关于python中的包,模块导入的问题详解(二)
		
from import导入 紧接着的是from xx import xx 语法 1 ################ 2 from my_moudule import name 3 print(na ...
 - python使用xlrd模块读写Excel文件的方法
		
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
 
随机推荐
- 使用nestjs集成grpc具体操作
			
两个程序中, 提供grpc服务的称为服务端, 调用grpc服务的为客户端, 以下是grpc服务端和客户端的代码编写 1. 创建两个nestjs项目demo1(端口: 3000)和demo2(端 ...
 - 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(6.1)- FlexSPI NOR连接方式大全(RT600)
			
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT600的FlexSPI NOR启动的连接方式. 痞子衡前段时间一鼓作气写完了三篇关于i.MXRT1xxx系列Flex ...
 - Kafka体系架构详细分解
			
我的个人博客排版更舒服: https://www.luozhiyun.com/archives/260 基本概念 Kafka 体系架构 Kafka 体系架构包括若干 Producer.若干 Broke ...
 - 使用增量备份修复DG中的GAP
			
问题描述 oracle中DG出现主备不同步现象,alert日志报警有gap信息,但是v$archive_gap视图查不到任何信息.同时主库上的对应归档已经删除且没有备份 解决方案 1.查询备库的scn ...
 - 还在使用集合类完成这些功能?不妨来看看 Guava 集合类!!!
			
日常开发中,小黑哥经常需要用到 Java 提供集合类完成各种需求.Java 集合类虽然非常强大实用,但是提供功能还是有点薄弱. 举个例子,小黑哥最近接到一个需求,从输入一个文档中,统计一个关键词出现的 ...
 - 配置ubunto 流量使用限制 python 实现简单 http server
			
很多ubunto 都有流量限制,使用流量.如每天使用200M ,超过了就要提示信息 原理,在本机 开一个 http 服务, 显示错误信息,哪流量使用完以后,使用 iptables 将 流量转发到 本机 ...
 - 使用selenium模拟登陆淘宝、新浪和知乎
			
如果直接使用selenium访问淘宝.新浪和知乎这些网址.一般会识别出这是自动化测试工具,会有反制措施.当开启开发者模式后,就可以绕过他们的检测啦.(不行的,哭笑) 如果网站只是对windows.na ...
 - [Python] iupdatable包:日志模块使用介绍
			
一.说明 日志模块是对 logging 模块的单例封装 特点: 可同时向控制台和文件输出日志,并可选择关闭其中一种方式的输出: 集成colorlog,实现根据日志等级不同,控制台输出日志颜色不同: 灵 ...
 - 学妹问的Spring Bean常用配置,我用最通俗易懂的讲解让她学会了
			
你好呀,我是沉默王二,一枚有趣的程序员,写的文章一直充满灵气,力求清新脱俗.昨天跑去王府井的小米店订购了一台小米 10,说是一周之内能到货,但我还是忍不住今天就想见到她.见我茶不思饭不想的,老婆就劝我 ...
 - vue基础----组件通信($parent,$children)
			
1.按照dom的父子级关系,在子组件中可以通过$parent 直接调用父组件的方法,也可得到父组件的属性. 2.在父组件中通过$childrens可以得到一个子组件数组,能够在父组件中调用子组件的方法 ...