python与办公软件结合_【Python与Office办公软件】xlrd Excel表格基础操作—单元格写入、合并、插入位图等...

这篇博客介绍了如何使用Python的xlrd模块进行Excel表格的基础操作,包括创建工作簿、添加sheet、单元格写入数据、单元格合并、插入位图以及获取sheet对象属性。示例代码详细展示了每项操作的实现方法。
摘要由CSDN通过智能技术生成

Python xlrd 模块编辑Excle 表格——基础篇

前言:

本篇博客主要介绍Python xlrd模块操作Excel表格的一些基础操作,包括:

1. 建立工作簿,增加sheet表;

2. 单元格写入数据、单元格合并;

3. 插入位图;

4. 获取sheet表对象属性。

建立工作簿,增加sheet表对象

# 导入模块

import xlwt

# 新建工作簿

work_book = xlwt.Workbook()

"__init__(self, encoding='ascii', style_compression=0):"

# 默认编码 ASCII

# 增加sheet表

work_sheet = work_book.add_sheet('Test')

# work_sheet = work_book.add_sheet('Test',cell_overwrite_ok=True)

"add_sheet(self, sheetname, cell_overwrite_ok=False):"

# sheetname 增加的单元格名称

# cell_overwrite_ok 默认False:重写单元格报错

"Exception: Attempt to overwrite cell: sheetname='Test' rowx=0 colx=0"

# 如果设置为True则重写单元格不报错

# 保存文件

work_book.save('Test.xls')

add_sheet方法中的cell_overwrite_ok 形参默认值为False,表示:当之前单元格内容已写入内容,再在相同单元格写入内容时,会抛出:

(Exception: Attempt to overwrite cell: sheetname=‘Test’ rowx=x colx=x ) 错误。

True:不会提示上错误,会直接改写原单元格数据。

单元格操作

写入数据(write):

# 单元格操作

work_sheet.write(0,0,'Hello Word')

# work_sheet.write(0,0,'Hello Word 2')

"write(self, r, c, label="", style=Style.default_style)"

# r 行,c 列, label 值,style 格式

将列表数据写入一个单元格(write_rich_text):

# 将列表数据写入一个单元格

test_list = [str(i) for i in range(5)]

work_sheet.write_rich_text(1,0,test_list)

"write_rich_text(self, r, c, rich_text_list, style=Style.default_style):"

# r 行,c 列,rich_text_list 列表或元组

合并单元格(merge):

# 合并单元格

work_sheet.merge(2,3,0,3)

"merge(self, r1, r2, c1, c2, style=Style.default_style):"

# r1 起始行,r2 合并终止行,c1 起始列 c2 合并终止列

合并并写入数据(write_merge):

# 合并单元格并写入

work_sheet.write_merge(4,4,0,3,'合并单元格数据')

"write_merge(self, r1, r2, c1, c2, label="", style=Style.default_style):"

插入位图

# 插入位图

work_sheet.insert_bitmap('01.bmp',5,0)

"insert_bitmap(self, filename, row, col, x = 0, y = 0, scale_x = 1, scale_y = 1):"

图像:

insert_bitmap(self, filename, row, col, x = 0, y = 0, scale_x = 1,scale_y = 1):

filename:文件名称;

row:行,col:列;

x,y:设定距单元格的x,y 距离;

scale_x ,scale_y:缩放比例。

work_sheet.insert_bitmap('01.bmp',5,8,x=50,y=50,scale_x=0.5,scale_y=0.5)

注:图片必须为bmp位图,且需为24位真色彩,会PhotoShop的可以自己调整一下图片。

完整代码:

# 导入模块

import xlwt

# 新建工作簿

work_book = xlwt.Workbook()

# 增加sheet表

work_sheet = work_book.add_sheet('Test')

# 单元格操作

work_sheet.write(0,0,'Hello Word')

# 将列表数据写入一个单元格

test_list = [str(i) for i in range(5)]

work_sheet.write_rich_text(1,0,test_list)

# 合并单元格

work_sheet.merge(2,3,0,3)

# 合并单元格并写入

work_sheet.write_merge(4,4,0,3,'合并单元格数据')

# 插入位图

work_sheet.insert_bitmap('01.bmp',5,0)

work_sheet.insert_bitmap('01.bmp',5,8,x=50,y=50,scale_x=0.5,scale_y=0.5)

# 保存文件

work_book.save('Test.xls')

Excel文件截图:

获取sheet表对象属性

注:以下代码都是在上面代码基础上写的。

获取、设置当前sheet表对象名称:

# 获取当前sheet表对象名称

print(work_sheet.get_name())

# 设置当前sheet表名称

work_sheet.set_name('Test_rename')

获取sheet对象的父对象(获取工作中的sheet表的Excel文件对象):

print(work_book)

print(work_sheet.get_parent())

# 打印结果:

#

#

获取所有当前sheet对象中的有效行、列对象:

# 获取所有当前sheet对象中的有效行对象

print(work_sheet.get_rows())

# 打印结果

'''

{0: ,

1: ,

2: ,

3: ,

4: }

'''

# 获取所有当前sheet对象中的有效列对象

print(work_sheet.get_cols())

# 打印结果

# {0: }

注:插入位图操作,不算在单元格内写入数据,故不算有效行、列

获取合并单元格对象的起始合并位置信息:

print(work_sheet.get_merged_ranges())

# 打印结果

# [(2, 3, 0, 3), (4, 4, 0, 3)]

最后:

以上就是本篇全部内容,感谢阅读。

【Python与Office办公软件】系列文章会对Python常用Office办公软件处理模块的使用进行讲解,感兴趣的朋友,可以点个关注、收藏。

标签:style,work,sheet,Office,Python,单元格,write,scale

来源: https://blog.csdn.net/zhouz92/article/details/106789137

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值