day08-代码操作xls文件

一、xls文件读操作(第三方库 xlrd)

1、打开: wb= xlrd.open_workbook(文件路径)

impord xlrd
wb= xlrd.open_workbook('./files/data1.xls')

2、获取所有工作表的表名: 工作簿.sheet_names()

names = wb.sheet_names() #.获取所有工作表的表名

3、获取工作表

1. wb.sheets() - #获取工作簿中所有工作表对应的工作表对象
2. wb.sheet_by_index(下标) - #获取指定下标对应的工作表对象(下标从前往后从0开始依次递增)
3. wb.sheet_by_name(表名) - #获取指定表名对应的工作表对象
sheet1=wb.sheet_by_name('students')

4、获取表的最大行号和列号 :工作表.nrows,工作表.ncols

5、按行或者列获取所有的数据:

sheet1.row_values(1)  #工作表.row_values(下标) 第几行的所有数据
sheet1.col_values(1)   #工作表.col_values(下标) 第几列的所有数据
sheet1.col_values(1,m,n) #工作表.col_values(下标) 第几列的所有数据,指定列中的指定范围数据

6、获取指定单元格的数据:工作表.cell_value(行下标,列下标)

# 练习:读excel文件data1.xls中students表中的数据,得到一个大列表,列表中的每个元素是每一行内容对应的小列表
list1=[]
for x in range(1,sheet1.nrows):
    list1.append(sheet1.row_value(x))    
# 练习:读excel文件data1.xls中students表中的数据,得到一个大列表,列表中的每个元素是每一行内容对应的小字典
list2 =[]
for row in range(1,sheet1.nrows) :   #行从1开始,一行一行的取值
    stu={}
    msg = sheet1.row_values(row)   #每一行的值
    for col in range(0,sheet1.ncols):
        stu[sheet1.cell_value(0,col)]= msg[col]
    list2.append(stu)
    

二、xls文件写操作

1、新建一个工作簿对象:xlwt.Workbook()

import xlwt
wb=xlwt.Workbook()

2、工作簿对象:add_sheet(表名) - 在工作簿中新建⼀个工作表

sheet1 = wb.add_sheet('students')

3、保存:工作簿对象.save(⽂件路径) - 将工作簿对象对应的Excel文件保存到指定位置(文件必须保存成xls格式的)

wb.save('./files/data2.xls')

4、工作表对象.write(行下标, 列下标, 内容) - 将指定内容写入到指定单元格

sheet1.write(0,0,'姓名')
sheet1.write(0,1,'学号')
sheet1.write(0,2,'年龄')
sheet1.write(0,3,'性别')
data = [['name','gender','age','score']
    ['小明', '男', 20.0, 99.0],
    ['张三', '男', 25.0, 87.0],
    ['小花', '女', 22.0, 95.0],
    ['老王', '男', 30.0, 77.0]
]
# 第一行的内容分别是:name、gender、age、score
line1 = ['name','gender','age','score']
data. insert(0,line1)
import xlwt
wb=xlwt.Workbook()
sheet3 = wb.add_sheet('students')
for row in range(len(data)):
    msg=data[x]
    for col in range(len(msg)):
        sheet3.write(row,col,msg[col])
wb.save('./files/data4.xls')

三、xls文件设置格式

1、设置字体样式

import xlwt
wb=xlwt.Workbook()
sheet = wb.add_sheet('各种样式')
# 1.样式对象
style1 = xlwt.XFStyle()
# 2.创建字体对象
font1 = xlwt.Font()
#3.将字体对象关联到样式中
style1.font=font1
#4.设置字体样式
font1.name='黑体'  #字体名称
font1.height=20*20  #字体大小
font1.colour_index= 2 #字体颜色
font1.bold = True #加粗
font1.italic =True #倾斜
#5.写入数据添加样式
sheet.write(0,0,'香蕉')
sheet.write(0,1,'苹果',style1)

2、填充颜色

#创建样式对象
style2 = xlwt.XFStyle()
#创建填充对象
pattern1 = xlwt.Pattern()
#将样式和对象关联起来
style2.pattern = pattern1
#(固定写法)填充模式
pattern1.pattern =xlwt.Pattern.SOLID_PATTERN
# 填充颜色
pattern1.pattern_fore_colour= 52
sheet.write(1,1,'猕猴桃',style=style2)

3、设置行高和列宽

#设置行高和列宽
sheet.col(0).width = 15*256

sheet.row(0).height_mismatch = True
sheet.row(0).height = 30*60
wb.save('./files/data5.xls')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值