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 ...
随机推荐
- javascript中你可能遇到的隐式调用
前言 不知道用隐式调用来形容是否确切,其行为总是隐藏在背后,时不时出来露脸一下,作用貌似不大,但是了解一下还是有用处的,保不准在你的使用下大有作为.所谓的隐式调用简单来说就是自动调用一些方法,而这些方 ...
- ubuntu下载eclipse详细步骤
1.官网下载 Eclipse IDE for Java EE Developers: https://www.eclipse.org/downloads/packages/ 2.安装eclipse将其 ...
- 编程史话第四期-饱受争议的前端之王JavaScript的血泪成长史
写在前面 这篇博文主要介绍javaScript的发展史,根据作者在B站发布的同名视频的文案整理修改而成,对视频感兴趣的博友可访问https://www.bilibili.com/video/av945 ...
- 机器学习基础——简单易懂的K邻近算法,根据邻居“找自己”
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天的文章给大家分享机器学习领域非常简单的模型--KNN,也就是K Nearest Neighbours算法,翻译过来很简单,就是K最近邻居 ...
- windows7免费永久激活方法分享
前言 我相信,这里肯定有看过我上一篇博客的同学. 我说了,为解决windows7激活问题,我会找一个比较好的方法. 首先先让大家看一看激活前windows7的计算机属性: 显示是未激活的.下面就是方法 ...
- IRM3800 红外遥控器解码 linux驱动
这一次还是接在 Cemera 上.用 中断引脚 EINT20 也就是 GPG12. 之前焊的 51 板子上有一个红外接收器. 请注意了,是 标准的 NEC 码规范:首次发送的是9ms的高电平脉冲,其后 ...
- 《JavaScript 模式》读书笔记(2)— 基本技巧1
这篇文章的主要内容,介绍了一些js编程中的基本技巧,其实这些技巧,大家在开发的过程中,或多或少都在使用,或者已经可以熟练的应用于自己的代码或项目中了.那么,这篇文章,就一起来回顾下这些“基本技巧”. ...
- 借助Redis完成延时任务
背景 相信我们或多或少的会遇到类似下面这样的需求: 第三方给了一批数据给我们处理,我们处理好之后就通知他们处理结果. 大概就是下面这个图说的. 本来在处理完数据之后,我们就会马上把处理结果返回给对方, ...
- java网络编程——多线程数据收发并行
基本介绍与思路 收发并行 前一篇博客中,完成了客户端与服务端的简单TCP交互,但这种交互是触发式的:客户端发送一条消息,服务端收到后再回送一条.没有做到收发并行.收发并行的字面意思很容易理解,即数据的 ...
- python之 filter
filter的语法:filter(函数名字,可迭代的变量) 其实filter就是一个“过滤器”:把[可迭代的变量]中的值,挨个地传给函数进行处理,那些使得函数的返回值为True的变量组成的迭代器对象就 ...