iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中的xlwt模块如何使用
  • 693
分享到

python中的xlwt模块如何使用

2023-07-05 05:07:26 693人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍“python中的xlwt模块如何使用”,在日常操作中,相信很多人在Python中的xlwt模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的xlwt模块如何使用”的疑

这篇文章主要介绍“python中的xlwt模块如何使用”,在日常操作中,相信很多人在Python中的xlwt模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的xlwt模块如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、前言

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

二、基础操作

1、创建workbook(创建excel)

#创建一个工作簿对象,设置编码格式为“utf-8”,默认格式是ASCII,为了方便写入中文,一般都要设置成UTF-8workBook = 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 xlwtworkBook = 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)

运行效果如下:

python中的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行为表头,不修改

综合操作结果:

python中的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 = alfor i in range(len(data)):    for j in range(len(data[i])):sheet.write(i+1, j, data[i][j], style)

测试效果:

python中的xlwt模块如何使用

3、设置边框

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

  • DASHED:虚线

  • THIN:实线

  • NO_LINE:没有边框

示例:

style = xlwt.XFStyle()  # 创建一个样式对象,初始化样式borders = xlwt.Borders()#设置边框属性实线、黑色borders.left = xlwt.Borders.THINborders.top = xlwt.Borders.THINborders.right = xlwt.Borders.THINborders.bottom = xlwt.Borders.THINborders.left_colour = 0xffborders.right_colour = 0xffborders.bottom_colour = 0xffborders.top_colour = 0xffstyle.borders = bordersfor i in range(len(data)):    for j in range(len(data[i])):sheet.write(i+1, j, data[i][j], style)

测试效果:

python中的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 # 设定样式

测试效果:

python中的xlwt模块如何使用

5、综合代码

import xlwtworkBook = 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*20style = xlwt.XFStyle()  # 创建一个样式对象,初始化样式al = xlwt.Alignment()borders = xlwt.Borders()font = xlwt.Font() #设置居中al.horz = 0x02      # 设置水平居中al.vert = 0x01      # 设置垂直居中#设置边框borders.left = xlwt.Borders.THINborders.top = xlwt.Borders.THINborders.right = xlwt.Borders.THINborders.bottom = xlwt.Borders.THINborders.left_colour = 0xffborders.right_colour = 0xffborders.bottom_colour = 0xffborders.top_colour = 0xff# 设置字体样式font.name = 'Times New Roman'font.bold = True # 黑体font.underline = True # 下划线font.italic = True # 斜体字# 设定样式style.font = font style.alignment = alstyle.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模块如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: python中的xlwt模块如何使用

本文链接: https://www.lsjlt.com/news/349877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作