继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

ninjaes
关注TA
已关注
手记 23
粉丝 0
获赞 4

课程名称Python办公自动化

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

课程讲师: 离岛


课程内容
http://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

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


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

http://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

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

颜色对应的索引和值

http://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)

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


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP