写点什么

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

  • 2023-05-14
    北京
  • 本文字数:1188 字

    阅读完需:约 4 分钟

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

安装库

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


pip3 install xlrdpip3 install xlwt
复制代码

实践

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



  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.nrowsprint(rows)# 输出结果4
cols = table.ncolsprint(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' 1text:'age' 1text:'sex' 1text:'张三' 1number:18.0 2...
复制代码


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


import xlwtworkbook = 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')
复制代码



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


# 更改列宽: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_PATTERNpattern.pattern_fore_colour = 2
style = xlwt.XFStyle()style.pattern = patternworksheet.write(4, 4, '填充颜色', style)
# 边框样式borders = xlwt.Borders()borders.left = xlwt.Borders.DASHEDborders.right = xlwt.Borders.DASHEDborders.top = xlwt.Borders.THINborders.bottom = xlwt.Borders.THICK
style = xlwt.XFStyle()style.borders = bordersworksheet.write(5, 5, '边框样式', style)
# 合并单元格worksheet.write_merge(6, 7, 7, 9, '合并单元格') # 合并 6-7 行,7-9 列
复制代码


总结

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


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


用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|Python高手教你玩转 Excel 自动化_霍格沃兹测试开发学社_InfoQ写作社区