为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第4天 Python办公自动化

标签:
Python

课程名称Python办公自动化

课程章节:第3章 xlrd+xlwt读取/写入Excel数据 3-7 3-8 3-9

课程讲师: 离岛


课程内容
https://img3.sycdn.imooc.com/631b51c40001978e08350480.jpg

import xlwt

#第一步 创建工作薄
wb = xlwt.Workbook()
#第二步 创建工作表
ws = wb.add_sheet("CNY")
#填充数据, 合并前两行,前六列
ws.write_merge(0, 1, 0, 5, "2019年货币兑换表")
#保存
wb.save("2019-CNY.xls")


下面开始写入数据,其中需要注意的是 enumerate的用法

enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用

for key, value in enumerate(list):
#写入货币数据
data = (("01/01/2019", 123, 345, 533, 33, 22),
        ("02/01/2019", 22, 11, 33, 44, 55))

for i,item in enumerate(data):
    for j, val in enumerate(item):
        ws.write(i, j, val)

运行出现错误,由于我们在调用add_sheet接口时默认是不进行覆盖的如下图2

https://img1.sycdn.imooc.com/631b57fb00019a8910140310.jpg


因此,我们需要调整写入的行数,进行+2处理即可

https://img2.sycdn.imooc.com/631b598200013f1308890254.jpg

                                                   图2


#创建第二工作表
wsimage = wb.add_sheet("img")
wsimage.insert_bitmap("26.bmp", 0, 0)

第二个工作表进行插入图片的操作,需要注意是24bit的bmp格式图片才可以插入成功,如果不行的话,解决方法如下

下面提示不是24深度的bmp图片,windows环境下随便软件截图然后你用系统自带的画图软件打开图片,然后另存为bmp就可以了。

#初始化样式
titlestyle = xlwt.XFStyle()
titlefont = xlwt.Font()
titlefont.name = "宋体"
titlefont.bold = True
titlefont.height = 11*20
titlefont.colour_index=1 #或者是0x08
titlestyle.font = titlefont

https://img1.sycdn.imooc.com/631b5e740001128708060230.jpg

颜色对应的索引和值

https://img1.sycdn.imooc.com/631b5fb50001f4b305050606.jpg


对格式的要求如下

cellalign = xlwt.Alignment()
cellalign.horz = 0x02
cellalign.vert = 0x02
titlestyle.alignment = cellalign

最后的使用是在write_merge的最后一个参数中

#填充数据, 合并前两行,前六列
ws.write_merge(0, 1, 0, 5, "2019年货币兑换表", titlestyle)

课程收获
  对格式操作的接口更加熟悉, 后面可以作出更多的需求,继续努力


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消