python—xlwt模块详解

这篇具有很好参考价值的文章主要介绍了python—xlwt模块详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

xlwt模块是python中专门用于写入Excel的拓展模块,可以实现创建表单、写入指定单元格、指定单元格样式等人工实现的功能,一句话就是人使用excel实现的功能,这个扩展包都可以实现。

二、基础操作

1、创建workbook(创建excel)

#创建一个工作簿对象,设置编码格式为“utf-8”,默认格式是ASCII,为了方便写入中文,一般都要设置成UTF-8
workBook = xlwt.Workbook(encoding='utf-8')

2、创建sheet表

# 通过工作薄对象创建sheet,sheetName 要求长度小于31个字符,并且不能存在斜杠,否则会报错
sheet = workBook.add_sheet("sheetName")

3、写入数据

#首先需要在第0行写入表头,然后再写入后续数据,但是都是使用的write方法写入,只是坐标不一样
head = ['姓名''年龄''性别']
data = [['张三''19''男']['刘雯雯''18''女']]
#循环写入表头
for i in head:
	sheet.write(0,head.index(i),i)
#循环写入数据
for i in range(len(data)):
    for j in range(len(data[i])):
        sheet.write(i+1,j,data[i][j])

4、保存workbook

# 通过workBook对象的save方法保存文档,savePath可以是绝对路径,也可以是相对了路径
savePath = 'C:\\Users\\Administrator\\Desktop\\test.xls'
workBook.save(savePath)

上面的示例代码综合后如下:

import xlwt
workBook = xlwt.Workbook(encoding='utf-8')
sheet = workBook.add_sheet("sheetName")
head = ['姓名','年龄','性别']
data = [['张三','19','男'],['刘雯雯','18','女']]
for i in head:
	sheet.write(0,head.index(i),i)
for i in range(len(data)):
    for j in range(len(data[i])):
        sheet.write(i+1,j,data[i][j])
savePath = 'C:\\Users\\Administrator\\Desktop\\test.xls'
workBook.save(savePath)

运行效果如下:

xlwt,python 入门到实战,python,excel,自动化办公,xlwt

三、样式优化

1、设置行列宽度

1)设置列的宽度

在表格之中行是按照数字来计算,列是按照英文字母顺序来计算的。但是在xlwt库中则是将它们都改成从0开始,类似于索引的对象获取方式。调用sheet.col(0)就可以获取到表格列对象,它表示的就是列A。然后设置width属性值即可修改列宽,xlwt中默认字体0的1/256为衡量单位。xlwt创建时使用的默认宽度为2960,既11个字符0的宽度。

所以我们在设置列宽时可以用如下方法:width = 256 * 20 256为衡量单位,20表示20个字符宽度。

示例代码

for i in range (len(head)):
	sheet.col(i).width = 256*20
2)设置行的高度

行高的修改方式和列宽实际上是差不多的,使用row()方法并且传入索引即可获取到行对象。然后调用set_style()方法去设置行样式。

示例代码:

for i in range(len(data)):
	sheet.row(i+1).set_style(xlwt.easyxf('font:height 512;')) #第0行为表头,不修改

综合操作结果:

xlwt,python 入门到实战,python,excel,自动化办公,xlwt

2、设置文本居中

在xlwt中,需要使用Alignment来设置单元格的对齐方式,其中horz代表水平对齐方式,vert代表垂直对齐方式。

  • VERT_TOP = 0x00 上端对齐
  • VERT_CENTER = 0x01 居中对齐(垂直方向上)
  • VERT_BOTTOM = 0x02 低端对齐
  • HORZ_LEFT = 0x01 左端对齐
  • HORZ_CENTER = 0x02 居中对齐(水平方向上)
  • HORZ_RIGHT = 0x03 右端对齐

示例:

style = xlwt.XFStyle()  # 创建一个样式对象,初始化样式
al = xlwt.Alignment()
al.horz = 0x02      	# 设置水平居中
al.vert = 0x01      	# 设置垂直居中
style.alignment = al
for i in range(len(data)):
    for j in range(len(data[i])):
		sheet.write(i+1, j, data[i][j], style)

测试效果:

xlwt,python 入门到实战,python,excel,自动化办公,xlwt

3、设置边框

xlwt要设置边框,需要使用Borders来设置,可以设置实线、虚线、没有边框三种,并且可以通过colour属性设置颜色。

  • DASHED:虚线
  • THIN:实线
  • NO_LINE:没有边框

示例:

style = xlwt.XFStyle()  # 创建一个样式对象,初始化样式
borders = xlwt.Borders()
#设置边框属性实线、黑色
borders.left = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
borders.left_colour = 0xff
borders.right_colour = 0xff
borders.bottom_colour = 0xff
borders.top_colour = 0xff

style.borders = borders
for i in range(len(data)):
    for j in range(len(data[i])):
		sheet.write(i+1, j, data[i][j], style)

测试效果:

xlwt,python 入门到实战,python,excel,自动化办公,xlwt

4、设置字体样式

设置字体样式,需要使用Font()来创建字体样式。

示例:

style = xlwt.XFStyle() 			# 初始化样式
font = xlwt.Font() 				# 为样式创建字体
font.name = 'Times New Roman'
font.bold = True 				# 黑体
font.underline = True 			# 下划线
font.italic = True 				# 斜体字
style.font = font 				# 设定样式

测试效果:

xlwt,python 入门到实战,python,excel,自动化办公,xlwt文章来源地址https://www.toymoban.com/news/detail-782551.html

5、综合代码

import xlwt

workBook = xlwt.Workbook(encoding='utf-8')
sheet = workBook.add_sheet("sheetName")
head = ['姓名', '年龄', '性别']
data = [['张三', '19', '男'], ['刘雯雯', '18', '女']]
for i in head:
	sheet.write(0, head.index(i), i)
for i in range(len(head)):
	sheet.col(i).width = 256*20
style = xlwt.XFStyle()  # 创建一个样式对象,初始化样式
al = xlwt.Alignment()
borders = xlwt.Borders()
font = xlwt.Font() 	
#设置居中
al.horz = 0x02      	# 设置水平居中
al.vert = 0x01      	# 设置垂直居中
#设置边框
borders.left = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
borders.left_colour = 0xff
borders.right_colour = 0xff
borders.bottom_colour = 0xff
borders.top_colour = 0xff
# 设置字体样式
font.name = 'Times New Roman'
font.bold = True 				# 黑体
font.underline = True 			# 下划线
font.italic = True 				# 斜体字
# 设定样式
style.font = font 				
style.alignment = al
style.borders = borders
# 写入数据和样式
for i in range(len(data)):
    sheet.row(i+1).set_style(xlwt.easyxf('font:height 512;'))
    for j in range(len(data[i])):
        sheet.write(i+1, j, data[i][j], style)
# 保存工作薄
savePath = 'C:\\Users\\Administrator\\Desktop\\test.xls'
workBook.save(savePath)

到了这里,关于python—xlwt模块详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python自动化测试,Excel数据驱动读取 xlrd实战(超详细)

    xlrd模块安装 xlrd常用方法 1、导入模块 import xlrd 2、打开文件 3、获取sheet 获取所有sheet名字:x1.sheet_names() 获取sheet数量:x1.nsheets 获取所有sheet对象:x1.sheets() 通过sheet名查找:x1.sheet_by_name(\\\"test”) 通过索引查找:x1.sheet_by_index(3) 输出:

    2024年02月11日
    浏览(48)
  • Python代码加速100倍,针对Excel自动化处理的加速实战!

    说到并发编程,我们先来澄清一下并发 (Concurrency) 和 并行 ( Parallelism)这两个概念,因为这个两个概念的含义是不同的。 并行(Parallelism)指的就是在同一时刻,有两个或两个以上的任务的代码在处理器上执行。从这个概念我们也可以知道,多个处理器或多核处理器是并行执行

    2024年02月19日
    浏览(46)
  • Python+Requests+Pytest+Excel+Allure 接口自动化测试项目实战【框架之间的对比】

            --------UnitTest框架和PyTest框架的简单认识对比与项目实战-------- 定义: Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。 Pytest是Python的另一个第三方单元测

    2024年02月09日
    浏览(59)
  • Python接口自动化测试实战详解

    接口自动化测试是指通过编写程序来模拟用户的行为,对接口进行自动化测试。Python是一种流行的编程语言,它在接口自动化测试中得到了广泛应用。下面详细介绍Python接口自动化测试实战。 在Python接口自动化测试中,我们可以使用很多开源的测试框架,例如unittest、pytest和

    2024年02月06日
    浏览(81)
  • Python自动化实战之使用Selenium进行Web自动化详解

    为了完成一项重复的任务,你需要在网站上进行大量的点击和操作,每次都要浪费大量的时间和精力。Python的Selenium库就可以自动化完成这些任务。 在本篇文章中,我们将会介绍如何使用Python的Selenium库进行Web自动化,以及如何将它应用于实际项目中。如果你是一名Python爱好

    2024年02月13日
    浏览(51)
  • Python自动化测试实战篇:unittest框架详解

    按照测试阶段来划分,可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,通常指函数或者类,一般是开发完成的。 单元测试可以将测试工作前移,及早发现问题,降

    2024年02月06日
    浏览(46)
  • Python + selenium实战:自动化登录功能测试用例,入门级!

    测试行业真是越来越卷了,点点点几乎没有竞争力,入行几乎都需要掌握一些自动化技术,本文就小编最近学习的 python + selenium 进行一个简单的登录功能实现 适用对selenium python unittest有一些了解的同学,大佬轻喷~ python selenium time ddt openpyxl unittest HTMLTestRunner data/login.xlsx 将

    2024年01月18日
    浏览(60)
  • Python接口自动化测试实战详解,你想要的全都有

    目录 前言 一、接口自动化测试概述 二、搭建Python接口自动化测试框架 三、常用接口自动化测试库示例 四、总结 接口自动化测试是当前软件开发中最重要的环节之一,可以提高代码质量、加速开发周期、减少手工测试成本等优点。Python语言在接口自动化测试方面应用广泛,

    2024年02月09日
    浏览(48)
  • 【实战详解】如何快速搭建接口自动化测试框架?Python + Requests

    本文主要介绍如何使用Python语言和Requests库进行接口自动化测试,并提供详细的代码示例和操作步骤。希望能对读者有所启发和帮助。 随着移动互联网的快速发展,越来越多的应用程序采用Web API(也称为RESTful API)作为数据交换的主要方式。针对API进行自动化测试已经变得非

    2024年02月09日
    浏览(57)
  • Python爬虫框架之Selenium库入门:用Python实现网页自动化测试详解

    是否还在为网页测试而烦恼?是否还在为重复的点击、等待而劳累?试试强大的 Selenium !让你的网页自动化测试变得轻松有趣! Selenium 是一个强大的自动化测试工具,它可以让你直接操控浏览器,完成各种与网页交互的任务。通过使用 Python 的 Selenium 库,你可以高效地实现

    2024年02月10日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包