首页 > 编程语言 >软件测试|Python高手教你玩转 Excel 自动化

软件测试|Python高手教你玩转 Excel 自动化

时间:2023-02-07 18:31:36浏览次数:31  
标签:xlwt style sheet Python Excel table 软件测试 row

在日常的工作中,对 Excel 的操作必不可少,如果涉及到大量的 Excel 操作的话,手动处理效率还是比较低的,因此 Excel 自动话完全有必要,今天和大家分享一下如何利用 Python 来批量化处理 Excel。

安装库

Python 操作 Excel 主要用到两个库 xlrd 和 xlwt,前者负责读,后者负责写。
可以直接通过 pip 命令安装这两个库。

pip3 install xlrd
pip3 install xlwt

实践

咱先来看看读取模块,有如下的 Excel 文件。

软件测试|Python高手教你玩转 Excel 自动化_Python

  1. 获取 sheet

file_path = './person.xls'
data = xlrd.open_workbook(file_path)

names = data.sheet_names()
print(names)

# 输出结果
['list']

当然,通过下标或者名称来获取指定的 sheet也是可以的。

sheet = data.sheets()[0]
print(sheet)

sheet = data.sheet_by_name('list')
print(sheet)

# 输出结果
Sheet 0:<list>
Sheet 0:<list>

  1. 行列操作

Excel 里每一个 sheet 都是由行和列组成的,先来看看行和列的操作。

rows = table.nrows
print(rows)
# 输出结果
4

cols = table.ncols
print(cols)
# 输出结果
3

print(table.row_slice(1))
# 输出结果
[text:'张三', number:18.0, text:'男']

通过行和列来读取 Excel 表格数据。

for row in range(rows):
for col in range(cols):
print(table.cell(row, col), table.cell_type(row, col))

# 输出结果
text:'name' 1
text:'age' 1
text:'sex' 1
text:'张三' 1
number:18.0 2
...

通过行和列向 Excel 中写入数据,写入数据就需要用xlwt这个库闪亮登场了。

import xlwt
workbook = xlwt.Workbook(encoding=ascii)
worksheet = workbook.add_sheet('my sheet') # 创建工作表

for i in range(10):
for j in range(10):
worksheet.write(i, j, i + j) # 写入内容

workbook.save('data.xls')

软件测试|Python高手教你玩转 Excel 自动化_Python_02

当然,我们也可以对单元格做一些设置。

# 更改列宽:
worksheet.col(10).width = 256 * 20

# 更改行高:
style = xlwt.easyxf('font:height 360;') # 18pt,类型小初的字号
row = worksheet.row(10)
row.set_style(style)

# 填充颜色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 2

style = xlwt.XFStyle()
style.pattern = pattern
worksheet.write(4, 4, '填充颜色', style)

# 边框样式
borders = xlwt.Borders()
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THICK

style = xlwt.XFStyle()
style.borders = borders
worksheet.write(5, 5, '边框样式', style)

# 合并单元格
worksheet.write_merge(6, 7, 7, 9, '合并单元格') # 合并 6-7 行,7-9 列

软件测试|Python高手教你玩转 Excel 自动化_Python_03

总结

本文和大家分享了如何通过 Python 来批量处理 Excel,希望能提高一下小伙伴们的工作效率。

关于 Excel 你有什么一些神操作方式呢,可以评论区和大家分享一下呀~

标签:xlwt,style,sheet,Python,Excel,table,软件测试,row
From: https://blog.51cto.com/u_15640304/6042640

相关文章

  • 软件测试|Python神器logging,你真的了解吗?
    logging是python标准模块,用于记录和处理程序中的日志。功能很强大,官方文档很详细,网上也有大量的说明和教程,但是对很多初次接触的同学来说,存在一些障碍。一是因为标准库文......
  • [oeasy]python0074_修改字体背景颜色_background_color_背景色
    修改背景色回忆上次内容上次将asciiart和颜色一起来玩7种基本色变化多端不过到目前为止改的都是​​前​​景色​​背​​景色可以修改吗?重温参数具体动手试试print("\0......
  • Python知识点
    1.使用os.path.realpath(__file__)获取文件所在目录路径+文件名2.os.path.abspath('.'),获取当前文件所在路径(当前文件的上一级路径)3..os.path.dirname(path),返回path的目......
  • python笔记1
    1.python转义符\"输出等于“\n换行\r覆盖,后面覆盖前面 \b删除前面一个字节\t制表符:插入四个空格,但是会自动补齐\\两个斜杠表示一个斜杠r在前面写个r表示转义字符......
  • 思源笔记用Python+quicker实现自动添加标题编号
    实现原理:通过Python访问笔记的源文件,将标题前面增加编号+tab键,在写回源文件为防止重复写入,每次编号前会清理之前编号清除,清理原理为将标题行用tab键分割,......
  • python之jwt实现
    https://www.jianshu.com/p/03ad32c1586cimportjwtimporttimeheaders={"alg":"HS256","typ":"JWT"}#设置headers,即加密算法的配置salt="asgfdgerher......
  • 软件测试书籍-学软件测试最好的书
     一.《软件测试的艺术》新梦想技术分享适合软件开发人员、IT项目经理等相关读者阅读,还可以作为高等院校计算机相关专业软件测试课程的教材或参考书。从第1版付梓到现......
  • 智能聊天机器chatgpt对软件测试有哪些危机?
    1、ChatGpt到底能做什么事?chatgpt可以回答一些简单的问题,创作通用的部分。对于知识类网站低端会有冲击,可以使用它避免了一下小白一直提些低端问题,就是可以帮助回答。2、Chat......
  • 软件测试工程师技能树
    简易版本如下:详细版本见课程:​​https://edu.51cto.com/course/33097.html​​......
  • python学习之 logging包
    1,logging包python的一个包,专门用来写日志的。官方一共划分了6个等级的log类型,分别对应重要性等级50,40,30,20,10,0:级别排序:CRITICAL>ERROR>WARNING>INFO>DEBUG>NOT......