xlutils

Python处理Excel的案例汇总(文末有福利)

拟墨画扇 提交于 2020-09-28 05:48:19
知乎上有个提问: 用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的问题,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,把简单的工作进行批量处理简直是加班族的梦想。 Python自动化办公(可能是B站内容最全的~) 传送门:https://www.bilibili.com/video/BV1y54y1i78U 具体说来自动化办公excel、ppt、word、邮件、文件处理、数据分析处理、爬虫这些,这次就来分享一下python自动化办公的那些知识点~ python基础 excel自动化 · 案例收集 python基础 能进行自动化办公的前提是会使用Python,最起码要熟悉基本语法,可以独立完成几十行代码的编写。 对于python语法的要求,你可以对照下面这个python基础教程的部分查看需要学那些,找个免费视频教程跟着学,然后多敲代码练习。如果习惯看书的话,可以买本python入门书备查。 关于python的基础语法,可以参考我之前推荐过的入门书籍和入门教程: 传送门 Python入门视频: Python入门23讲(获取方式) Python入门图书: 畅销30万册的Python3编程入门教程 语法 主要内容 基本数据类型 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)

【python接口自动化】- openpyxl读取excel数据

青春壹個敷衍的年華 提交于 2020-08-14 09:05:00
前言:目前我们进行测试时用于存储测试数据的软件几乎都是excel,excel方便存储和管理数据,读取数据时也比较清晰,测试时我们需要从excel从读取测试数据,结束后还需把测试结果写入到excel中,读取这一动作以往都是通过人工来操作,学会使用openpyxl后,就可以实现自动化地读取数据,解放双手。 openpyxl简单介绍 ​ openpyxl是一个开源项目,它是一个用于读取/写入Excel 2010文档(如 xlsx 、 xlsm 、 xltx 、 xltm 文件 )的Python库,如果要处理更早格式的Excel文档( xls ),需要用到其它库(如:xlrd、xlwt等),这是openpyxl比较其他模块的不足之处。openpyxl是一款比较综合的工具,不仅能够同时读取和修改Excel文档,而且可以对Excel文件内单元格进行详细设置,包括单元格样式等内容,甚至还支持图表插入、打印设置等内容。 ​ python中与excel操作相关的模块: 📔 xlrd库:从excel中读取数据,支持xls、xlsx格式 📔 xlwt库:对excel进行修改操作,但不支持对xlsx格式的修改 📔 xlutils库:在xlwt和xlrd中,对一个已存在文件进行修改 📘 openpyxl库:主要针对xlsx格式的excel进行读取和编辑 openpyxl的安装 pip install

Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(已开源)

邮差的信 提交于 2020-08-10 08:49:08
目录 废话 功能 运行机制 已知问题 环境与依赖 目录结构 执行顺序 config.ymal展示 EXcel用例展示 脚本一览 运行结果 致谢 源码地址 废话 和几个朋友聊天然后出来的产物希望能帮到大家学习接口自动化测试,欢迎大家交流指出不合适的地方,源码在文末 功能 实现:get/post请求(上传文件)::理论上其他delete/put等请求也实现了 发送邮件 生成allure测试报告 压缩测试报告文件 数据依赖 运行机制 通过读取配置文件,获取到host地址、提取token的jsonpath表达式,提取实际响应结果用来与预期结果比对的jsonpath表达式。 读取excel用例文件数据,组成一个符合pytest参数化的用例数据,根据每列进行数据处理(token操作、数据依赖) token,写,需要使用一个正常登录的接口,并且接口中要返回token数据,才可以提取,token,读为该请求将携带有token的header,token 无数据的将不携带token 数据依赖处理,从excel中读取出来的格式{"用例编号":["jsonpath表达式1", "jsonpath表达式2"]},通过用例编号来获取对应case的实际响应结果(实际响应结果在发送请求后,回写到excel中),通过jsonpath表达式提取对应的依赖参数字段,以及对应的值

python 编辑表格文件

我们两清 提交于 2020-08-09 13:29:35
import xlrd,xlwt,xlutils self.data = xlrd.open_workbook(file,formatting_info = True) #打开文件 sheet1 = self.data.sheet_by_name('功能用例模板') writeOpenxlsx = copy(self.data) #复制excel内容和修改文件 #获取表格列内容 tag = sheet1.col_values(6) #修改表格内容 writexlsxSheet = writeOpenxlsx.get_sheet('功能用例模板') style1 = xlwt.easyxf(font:height 240, color-index red, bold on;align: wrap on, vert centre, horiz center;border: left thin,right thin,top thin,bottom thin) #表格格式:加上边框 writexlsxSheet.write(i,11,res,style1) #将结果写入第11列,表格格式为style1 #保存 writeOpenxlsx.save(file) 来源: oschina 链接: https://my.oschina.net/u/3766116/blog/4428039

Python3 内置函数及excel操作

雨燕双飞 提交于 2020-04-29 15:31:49
exec是通过命令行执行,类似于print exec和eval的区别: 1、eval有返回值,exce没有返回值 2、eval不可以执行复杂代码 会报错,但是exec可以执行复杂代码 python一些常用的内置函数及作用请见以下代码,值得一提的是eval和exec的区别,最大的一个区别是eval会返回代码运行的值,类似于函数自带了一个return功能,但是exec不会,它只管执行代码,等于是函数没有return值,默认返回了None;还有一个区别是exec可以执行复杂的代码,类似于命名函数,定义对象等,但eval不行。通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,并返回结果 1 lis=[1,4,3,8,2,9,10,0] 2 print(all(lis))#判断可迭代对象里头是否存在不为真的元素,如果全为真,则显示True,如果存在不为真的元素则返回False 3 print(any(lis))#判断可迭代对象里头是否存在为真的元素,如果存在为真的元素则返回True,否则False 4 print(bin(10).replace('0b',''))#10进制转换为二进制,后面的replace是用空格取代二进制的前缀:ob 5 print(bool({}))#把一个对象转换成布尔类型

【Python】 更棒的Excel操作模块xlwings

梦想的初衷 提交于 2020-04-27 03:02:50
【xlwings】   说到Python操作Excel,有好多模块都可以支持这个工作。比如最底层的win32模块不仅可以操作Excel,还可以操作其他一众windows的软件。   其他的比较熟悉的有xlrd,xlwt和xlutils这三个。分别负责Excel文件的读、写、读写转换工作。虽然一般情况下的Excel操作都可以通过这三个模块来完成,但是还是有很多不便的地方。比如单元格格式的写入和读取很麻烦,通过xlutils将一个Excel读取再写入到一个新文件中时格式也不会被一起复制过去。   另外最近我遇到的需求就是,基于一个Excel模板,往里面填充数据。虽然可以将模板转化为xlwt的代码写死在生成脚本中,但是每次都要重新生成一个文件未免太过麻烦,而且一个格子一个格子地写入会让代码量飞速上涨。。无奈之下另寻他路,尝试着用了xlwings这个模块。 ■  基本使用   和xlrd等不同,xlwings设计的基础理念不是面向单个的Excel文档进行的,而是可以处理一个包含了多个Excel文档的“Excel项目”。通过建立其app等逻辑组分概念,可以让整个Excel项目可以更加有序方便地进行计算和互相通讯。xlwings中设计的各个模型的概念层级如下图所示:   其中App是作为一个逻辑的分组,一个Book可以认为对应一个Excel文档,Sheet对应一张工作表

Python 读写修改 Excle

ε祈祈猫儿з 提交于 2020-04-11 10:03:26
文章目录 1、初次创建 写入 Excle 2、读取 Excle 内部数据 3、修改已经存在的Excle 1、初次创建 写入 Excle from time import sleep import xlrd from xlutils.copy import copy import xlwt class OperateExcle: def __init__(self): self.fileName = "test.xlsx" # 创建 一个 Excle ,并且写入数据 def creatWriteExcle(self): excle = xlwt.Workbook() # 打开excel testSheet = excle.add_sheet('test') # 添加一个名字叫test的sheet testSheet.write(0, 0, "小明") # 在 0 行 0 列 写入 小明 testSheet.write(1, 0, "小黑") testSheet.write(2, 0, "小白") testSheet.write(0, 1, "小狗") testSheet.write(1, 1, "小猫") testSheet.write(2, 1, "小鱼") excle.save(self.fileName) # 保存 指定 路径和文件名 if __name__ == "_

ValueError: row index was 65536, not allowed by .xls format

十年热恋 提交于 2020-02-02 06:22:25
问题 Currently, I am trying to edit an existing excel file using xlwt. I do not want to edit directly on the excel, so I first make a copy. new_wb = xlutils.copy(file_location) From this copy, I used the xlwt module to write a new column into the newly copied excel file and save. However, I get an error when I try to copy: ValueError: row index was 65536, not allowed by .xls format I am a little confused because the file I duplicate is a xlsx file, not xls. I never use the xls format in my code.

python : Get Active Sheet in xlrd? and help for reading and validating excel file in Python

泄露秘密 提交于 2020-01-01 19:37:09
问题 2 Questions to ask: Ques 1: I just started studying about xlrd for reading excel file in python. I was wondering if there is a method in xlsrd --> similar to get_active_sheet() in openpyxl or any other way to get the Active sheet ? get_active_sheet() works this in openpyxl import openpyxl wb = openpyxl.load_workbook('example.xlsx') active_sheet = wb.get_active_sheet() output : Worksheet "Sheet1" I had found methods in xlrd for retrieving the names of sheets, but none of them could tell me the

Format individual characters in a single Excel cell with python

笑着哭i 提交于 2019-12-17 19:43:31
问题 I am using xlrd, xlwt, and xlutils on the Windows Vista OS with Python 2.7. I have a set of DNA sequences in an excel worksheet that are 100 characters long, with each sequence in a single cell. I am trying to highlight characters at specific positions within each of these sequences in excel (bold them or change color), but have not found a way to format individual characters within a cell. Applying a style applies it to the entire cell to my knowledge. Therefore I am trying to break the