python做excel表格代码_python操作excel表格
我们在写测试用例的时候,是创建一个表格.xlsx,然后把各种条件加到这张表格中去,所以,如何对excel表格操作,是相当重要的一环,那么,接下来,这篇博客就直接教会大家如何通过python去处理平时工作中用到的测试用例表格,我们一步一步来,慢慢的给各位同学讲明白。
首先,给大家先补个基础的常识,就是你对一个excel的了解有多少?看下图所示:
一、excel操作三大对象
workbook 工作薄:一个excel文件会被加载为一个工作薄对象workbook
form 表单:excel文件中,每个sheet表达会被加载成一个工作表对象sheet
cell 单元格:工作表中的每一个格子就是一个单元格,即表格对象cell
好,先把这些基础的知识先了解,因为,excel主要就是操作这三个对象workbook、sheet、cell
以下,我拿一段代码举例,在用python操作excel时,先要安装一个openpyxl,如何安装?
安装完成以后,开始建一个表格文件.xlsx,然后复制或者剪切到python的具体文件夹目录下,以下是我自己随意建的表格:
代码如下:
importopenpyxl#第一步:将excel文件加载到一个工作薄对象中
wb = openpyxl.load_workbook("abc.xlsx")#第二步:选择文件中的表单
sh = wb["login"]#第三步:读取内容 ,cell表示单元格
res = sh.cell(row=1, column=1) #第一行第一列
print(res.value) #打印出 111
以上就是简单的示例:读取某个单元格的内容
二、数据的写入
(单独用的不多,不算重点,了解即可)
关于excel数据的写入,单独用的不多,一般会和会面的读取数据写入数据一起结合用,现在只是单独拿出来讲解,先做个大概的了解,可以总结以下四步规律
第一步:将excel文件加载到一个工作薄对象中
wb = openpyxl.load_workbook("文件名")
第二步:选择文件中的表单
sh = wb["表单名"]
第三步:往表格中写入数据
sh.cell(row=行, column=值, value='写入的值')
第四步:保存
wb.save("文件名")
注意:在往excel中,写入数据的时候,文件不能处于一个打开的状态,否则会报错
importopenpyxl#第一步:将excel文件加载到一个工作薄对象中
wb = openpyxl.load_workbook("abc.xlsx")#第二步:选择文件中的表单
sh = wb["login"]#第三步:往表格中写入数据
sh.cell(row=1, column=1, value='jack')#第四步:保存
wb.save("abc.xlsx") #打开表格看,111已经变为jack
三、数据的批量读取
比如:给你一张表格,把表格的内容,一次性读取出来,怎么办?如何操作?如何用python来实现
importopenpyxl#第一步:将excel文件加载到一个工作薄对象中
wb = openpyxl.load_workbook("yyy.xlsx")#第二步:选择文件中的表单
sh = wb["login"]
res=list(sh.rows)for item inres:for c initem:print(c.value, end=" ")print() #起着换行的作用
四、excel用例数据读取组装成列表嵌套字典的格式
先给大家看一下这张表 testcases ,
我们想把它读取出来,转化成开头的那种列表中嵌套字典的模式,怎么来弄?有的同学要问,为什么要弄成那种格式,因为,要和ddt结合起来使用,转化成这种格式:
方便ddt的使用,只要转化成这个列表中嵌套字典的格式,以后可以直接套用
importopenpyxl#第一步:将excel文件加载到一个工作簿对象中
wb = openpyxl.load_workbook("testcases.xlsx")#第二步:选择文件中的表单
sh = wb["login"]
res=list(sh.rows)#获取第一行的单元格
title =[]#遍历第一行所有的单元格,将格子中的值添加到列表title中
for c inres[0]:
title.append(c.value)
cases_data=[]#遍历除第一行之外所有的行
for row in res[1:]:
data=[]for c inrow:
data.append(c.value)
item=dict(zip(title, data))
cases_data.append(item)print(cases_data)
五、excel的封装
importopenpyxlclassExcel:def __init__(self, filename, sheet_name):
self.filename=filename
self.sheet_name=sheet_namedefread_data(self):"""读数据"""
#第一步:将excel文件加载到一个工作簿对象中
wb =openpyxl.load_workbook(self.filename)#第二步:选择文件中的表单
sh =wb[self.sheet_name]
res=list(sh.rows)#获取第一行的单元格
title =[]#遍历第一行所有的单元格,将格子中的值添加到列表title中
for c inres[0]:
title.append(c.value)
cases_data=[]#遍历除第一行之外所有的行
for row in res[1:]:
data=[]for c inrow:
data.append(c.value)
case=dict(zip(title, data))#print(case)
cases_data.append(case)returncases_datadefwrite_data(self, row, column, value):"""写数据"""
#第一步:将excel文件加载到一个工作簿对象中
wb =openpyxl.load_workbook(self.filename)#第二步:选择文件中的表单
sh =wb[self.sheet_name]
sh.cell(row=row, column=column, value=value)
wb.save(self.filename)
未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
python做excel表格代码_python操作excel表格相关推荐
- python做excel表格代码_python - 操作excel表格
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- python做excel表格代码_Python读写Excel表格
最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...
- python excel操作单元格_python 操作excel表格的方法
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- python 做excel可视化报告_Python操作Excel制作可视化数据图,实现自动化办公
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于IT入门 安装 操作一个简单的Excel文档 操作注释及代码: 操作完成后,数 ...
- python excel详解_python操作excel详解
前提: python操作excel需要使用的模块有xlrd.xlwt.xlutils.对excel进行读.写.更新操作.操作excel时需要先导入这些模块,demo如下: excel-读操作知识点: ...
- python操纵excel的方法_python操作Excel的几种方式
Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 首先你的本地要有包文件,安装上面的包文件如下图 1.xlrd主要是用来读取exce ...
- python读excel字体颜色_python操作excel之设置字体颜色及格式
原博文 2020-06-03 13:46 − xlwings如何设置字体.颜色等属性 # coding: utf-8 import xlwings as xw app=xw.App(visible=F ...
- python求三个数平均值_Python操作Excel教程-average函数求平均值
Python实战:找到\u201CB列\u201D的平均值,\u201C列C\u201D,\u201CD\u201D.这个过程有点麻烦.请仔细看以下步骤:\u201D.1. 核心代码2.操作结果3.流 ...
- python做一个系统代码_python初学者,用python3实现基本的学生管理系统代码实例...
这篇文章分享了管理系统,python学生管理系统的使用,这篇文章非常详细地介绍了通过示例代码实现的学生管理系统,该系统对每个人的研究或工作都有一定的参考学习价值. 这个是用python实现的基本的增删 ...
最新文章
- 在CentOS 6.3 64bit上安装Apache Trafficserver 4.2.3
- mysql设置ssh连接_ssh修改连接数据库 将mysql改为sql连接
- Android 使用PDF.js浏览pdf
- 织梦缩略图自动补齐绝对路径_[教程]织梦CMS缩略图和文章内容图片自动转化为带域名的绝对路径...
- Spring MVC 中使用AOP 进行统一日志管理--XML配置实现
- ICP备案和经营性ICP有何不同
- html选择日期选择器
- vb.net html元素,vb.net 教程 12-3 HtmlElement类 1
- 作为技术面试官,我在面试时考虑什么?
- word总页数不包含封面_word目录不包含封面 word 目录 不含封面
- cad动态块制作翻转_cad动态块制作教程
- 数据分析之利用EXCEL做数据分析
- 阿弥陀佛么么哒 - 笔记
- 猴子偷桃c语言编程软件,C语言实现的猴子偷桃之类算法
- 2022,从阅读开始
- Python计算机二级过考指南
- 【算法】剑指offer - JZ76 删除链表中重复的结点
- 元素和子集,属于与包含
- 分布式进阶 一 Windows 7下硬盘安装Ubuntu 14 04图文教程
- 【例4-3】利用数组,给定N个正整数数据(N<=100),查找最大值和最小值并输出。【输入输出样例】Input length (N<=100):(此处括号、冒号为英文符号,后面无空格;leng
热门文章
- [leedcode 52] N-Queens II
- [xsd学习]xsd介绍
- windows下hadoop的单机伪分布式部署(3)
- mysql 转换编码
- 【数据结构与算法】【算法思想】【算法应用】【排序查找搜索】并行
- [剑指offer][JAVA]面试题第[29]题[顺时针打印矩阵][数组]
- [Leedcode][JAVA][第542题][01矩阵][BFS]
- 【解决问题】useBean类属性[com.cheng.pojo.People]的值无效导致HTTP500问题
- linux 脚本 java_Linux 通过脚本执行Java程序
- C# WinForm中获取当前程序运行目录的方法