day8xlrd和xlwt操作excel练习

day8xlrd和xlwt操作excel练习

import xlrd,xlwt
from xlutils.copy import copy

1.以读的方式打开excel文件获取原始数据对应的表

wb = xlrd.open_workbook('files/副本作业数据.xls')
sheet1 =wb['原始数据']

2.在工作簿中新建’新数据’对应的表

wb1 = copy(wb)
if '新数据' not in wb.sheet_names():
    sheet2 = wb1.add_sheet('新数据')
else:
    exit()

3.从原始数据表中获取数据,添加到新数据对应的表中

font1 = xlwt.Font()
font1.bold = True
font1.height = 20*20

font2 = xlwt.Font()
font2.height = 18*18
font2.colour_index = 46

font3 = xlwt.Font()
font3.height = 18*18

font4 = xlwt.Font()
font4.colour_index = 10

a1 = xlwt.Alignment()
a1.vert = xlwt.Alignment.VERT_CENTER
a1.horz = xlwt.Alignment.HORZ_CENTER

b1 = xlwt.Borders()
b1.top = b1.bottom = b1.left = b1.right = 1
b1.top_colour = b1.bottom_colour = b1.left_colour = b1.right_colour = 8

p1 = xlwt.Pattern()
p1.pattern = xlwt.Pattern.SOLID_PATTERN
p1.pattern_fore_colour = 43

p2 = xlwt.Pattern()
p2.pattern = xlwt.Pattern.SOLID_PATTERN
p2.pattern_fore_colour = 52

style1 = xlwt.XFStyle()
style1.borders = b1
style1.alignment = a1
style1.font = font1
style1.pattern = p1

style2 = xlwt.XFStyle()
style2.borders = b1
style2.alignment = a1
style2.font = font2

style3 = xlwt.XFStyle()
style3.borders = b1
style3.alignment = a1
style3.font = font3

style4 = xlwt.XFStyle()
style4.borders = b1
style4.alignment = a1
style4.font = font4

style5 = xlwt.XFStyle()
style5.borders = b1
style5.alignment = a1
style5.font = font3
style5.pattern = p2

2)添加数据

nc = sheet1.ncols
nr = sheet1.nrows
for r in range(nr):
    for c in range(nc):
        # 取出数据
        data = sheet1.cell(r,c).value
        # 将数据写入新的表中
        if r == 0:
            sheet2.write(r,c,data,style=style1)
        elif c == 0:
            sheet2.write(r,c,data,style=style2)
        else:
            if data == 0:
                sheet2.write(r,c,'补考',style=style4)
            elif data < 60:
                sheet2.write(r,c,data,style=style5)
            else:
                sheet2.write(r,c,data,style=style3)

设置宽度和高度

sheet2.row(0).height_mismatch = True
sheet2.row(0).height = 20*256

for x in range(nc):
    sheet2.col(x).width = 30 * 256

wb1.save('files/副本作业数据.xls')

原始数据:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jr4NIYu7-1676536758031)(C:\Users\44913\AppData\Roaming\Typora\typora-user-images\image-20230216163805515.png)]

代码作用如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lIRVsZWb-1676536758033)(C:\Users\44913\AppData\Roaming\Typora\typora-user-images\image-20230216163811479.png)]

)


原始数据

[外链图片转存中...(img-Jr4NIYu7-1676536758031)]

代码作用如下:

[外链图片转存中...(img-lIRVsZWb-1676536758033)]













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值