Excel表格处理笔记(.xls):xlrd、xlwt模块的使用(读,写)

一、Excel表格的读取

使用xlrd模块,进行读取

模块下载: pip3 install xlrd
演示代码如下:

import xlrd

# 创建Excel文件对象
rdata = xlrd.open_workbook("test.xls")  # 参数为文件路径,可填写相对或绝对路径

# 获取详细sheet页对象,方法主要有以下:
# 第一种,索引直接获取
sheet_01 = rdata.sheet_by_index(0) # 获取第一页表对象
# 第二种,获取所有表对象,在具体获取单个
sheets = rdata.sheets()  # 返回格式:列表(返回当前文件的所有sheet页对象,以列表形式)
sheet_02 = sheets[1]   # 获取第二页表对象
# 第三种,表名获取
sheet_names = rdata.sheet_names() # 返回格式:列表(返回当前文件所有sheet页名字,以列表格式)
sheet_03 = rdata.sheet_by_name("name")  # 传入参数为具体表名

# 获取内容,方法:
print(sheet_01.nrows)  # 获取当前sheet页,所有行数
print(sheet_01.ncols())  # 获取当前sheet页,所有列数
print(sheet_01.row(0))  # 获取当前sheet页,第一行内容,返回格式:列表
print(sheet_01.col(0))  # 获取当前sheet页,第一列内容,返回格式:列表
value = sheet_01.row_values(0) # 返回第一行内容,只返回值,返回格式:列表
value = sheet_01.cell(x,y) # 读取指定单元格
value = sheet_01.cell(x,y).value  # 读取指定单元格值

二、 Excel表格的写 入

使用xlwt模块,进行读取

模块下载: pip3 install xlwt
演示代码如下

import xlwt

# 创建一个空文件对象
wdata = xlwt.Workbook()

# 添加新的sheet页
sheet_01 = wdata.add_sheet("test01", cell_overwrite_ok=True) # 第一个参数:sheet页名字, 第二个允许可重复操作单元格
x = 0  # row
y = 0  # col
sheet_01 .write(x,y, "测试数据写入")  # 传入坐标位置x,y 第三个参数:数据
# 合并单元格
sheet_01 .write_merge(r1,r2,c1,c2) # r1起始行,r2终止行,c1起始列,c2终止列
wdata.save("test.xls") # 写完数据保存

三、Excel表格修改

模块下载: pip3 install xlutils
演示代码如下:

import xlutils.copy as copys
import xlrd

# 创建对象
change_target = xlrd.open_workbook("test.xls") # 打开要修改文件
wdata = copys.copy(change_target) # 创建实际操作副本

sheet_01 = wdata.get_sheet(0) # 获取修改sheet页对象
sheet_01.write(x,y,value)  # 传入坐标位置和值
wdata.save("test.xls") # 修改完后保存

四、设置表格式

演示代码如下:

import xlwt

wdata = xlwt.Workbook()
sheet_01 = wdata.add_sheet("test", cell_overwrite_ok=True)

# 设置对齐方向
alignment = xlwt.Alignment()
# 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.horz = 0x01
# 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
alignment.vert = 0x01
# 设置自动换行
alignment.wrap = 1

# 设置列宽(以第一列为例:)
sheet_01.col(0).width = 256 * 14  # 基数为256,14为字符长度
# 设置行高(以第一行为例:)
sheet_01.row(0).height_mismatch = True 
sheet_01.row(0).height = 20 * 14  # 20为基准数,14意为14磅

# 设置字体
font = xlwt.Font()
font.name = "宋体" # 设置字体格式
font.height = 20*11 # 字体大小,11为字号,20为衡量单位
font.bold = False  # 字体加粗
font.underline = False # 下划线
font.italic = True  # 斜体字
font.colour_index = 0 # 字体颜色

 # 设置边框
borders = xlwt.Borders()
# 细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7
# 大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13
borders.left = 1
borders.right = 2
borders.top = 3
borders.bottom = 4
# 边框颜色(0, 1, 2, 3 ,4.....)
borders.left_colour = 0
borders.right_colour = 0
borders.top_colour = 0
borders.bottom_colour = 0

# 设置背景颜色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN  # 设置背景颜色的模式
pattern.pattern_fore_colour = 0  # 背景颜色(0,1,2......)

# 最后确认设定格式
style = xlwt.XFStyle()  # 初始化格式
style.alignment = alignment
style.font = font
style.borders = borders
style.pattern = pattern

#  应用
sheet_01.write(0,0, "演示", style)

注意:xlwt写入Excel表格,每个单元格有大小限制,不能超过3万多个字符

五、最后的最后一个设置写入Excel颜色的序列

六、官网链接

主页:http://www.python-excel.org/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值