软件测试|Python第三方库使用(一)
2023-03-07 09:03:12 时间
Python第三方库使用之openpyxl
openpyxl模块
- 简介 openpyxl模块属于第三方模块,是一个在 python 中能够处理 excel 文件的模块,还有比较出名的是xlrd、xlwt 分别控制excel文件的读写,这俩个能够兼容所有版本的文件。openpyxl 针对 excel 2003版本之前的兼容性可能不好 但是功能更加强大
注:excel文件的版本及后缀
2003版本之前 excel的文件后缀是xls
2003版本之后 excel的文件后缀是xlsx、csv
2、创建文件相关
- 创建excel文件
- 关键词:workbook
- 作用:使用 openpyxl 创建文件。只需导入Workbook类
导入模块:
form openpyxl import workbook
代码用法:
from openpyxl import Workbook
wb = Workbook
# 一个 excel 文件创建成功
- 创建工作簿
- 关键词:cerate_sheet( )
- 作用:
- 使用 openpyxl 创可以创建自定义名称的工作簿。括号里的参数是工作簿名称,还有一个参数是工作簿的位置,也可以不写建文件。只需导入Workbook类
- 可以创建多个工作簿,并且可按照顺序排列
导入模块:
form openpyxl import workbook
代码用法:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.cerate_sheet('工作簿名称', 0)
- 修改工作簿名称
- 关键词:title
- 作用:
- 可以更改工作簿名称
- 通过待修改名称工作簿‘点’的方式在后方赋予新的名称
导入模块:
form openpyxl import workbook
代码用法:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.cerate_sheet('用户信息表', 0)
ws1.title = 'user_infor'
- 修改工作簿颜色
- 关键词:sheet_properties.tabColor
- 作用:
- 用来给工作簿背景修改颜色,需要用到RGB色域
导入模块:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.sheet_properties.tabColor = 'FF6666'
# 将标题背景改为指定RRGGBB颜色代码
- 查看文件所有工作簿
- 关键词:sheetname
- 作用:
- 查看exexl文件下所有的工作簿,返回的是一个列表
导入模块:
from openpyxl import Workbook
代码用法:
wb = Workbook()
ws1 = wb.create_sheet('uese_zhangzhang')
ws2 = wb.create_sheet('user_kangkang')
print(wb.sheetname)
# ['user_zhangzhang', 'user_zhangzhang']
3、写入内容相关
- 写入/修改内容
- 关键词:ws[]
- 作用:
- 可以通过工作簿'点'的方式,在后方中括号内填写内容的位置,来修改内容
导入模块:
from openpyxl import Workbook
代码用法:
wb = Workbook()
ws1 = wb.create_sheet('uese_zhangzhang')
ws1['A1'] = 'kangkang'
# ws1['A1'] 代表的是该表中的 A1 位置,我们可以将数据直接赋值给它
- 关键词:cell( )
- 作用:
- 可以通过工作簿'点'的方式,在后方参数内填写内容的位置,来修改内容
- row:行
- colum:列
- value:值(对应位置的数据)
导入模块:
from openpyxl import Workbook
代码用法:
wb = Workbook()
ws1 = wb.create_sheet('uese_zhangzhang')
ws1.cell(row = 1, column= 1, value = 'kangkang')
# 在第一行,第一列,填入数值'kangkang'
- 一次写入多个数据
- 关键词:append()
- 作用:
- 可以一次性写入多个数据值,通过行的方式写入,在关键词后方参数内将数据值以列表的形式写入
导入模块:
from openpyxl import Workbook
代码用法:
wb = Workbook()
ws = wb.cerate_sheet('user_name', 0)
ws.append(['序号', '姓名', '性别', '年龄'])
ws.append(['1', 'kangkang', '男', '18'])
4、读取内容相关
- 访问多个单元格
- 直接使用切片操作的方式
x = ws['A1':'C2']
x1 = ws['C']
x2 = ws['C:D']
x3 = ws[10]
x4 = ws[5:10]
- 获取单元格值
- 关键词:values
- 作用:
- 使用for循环的方式,可以一次获取整行文本数据值
导入模块:
from openpyxl import Workbook
代码用法:
wb = Wordbook()
ws1 = wb.create_sheet('nser_name', 0)
ws1.append(['name', 'age', 'hobby'])
ws1.append(['kangkang', 18, 'read'])
for i in ws1.vallue:
print(i)
5、保存文件
当我们编辑完文件后,就需要保存文件,同时赋予文件的名称
- 关键词:save( )
- 作用:
- 在关键词后方参数内填入文件保存的地址,同时赋予文件名
wb = Workbook()
wb.save('user_infor.xlsx')
# balances.xlsx 是保存的路径,也就是文件名。
# 编辑完要保存才行。
6、打开文件
前面说的是我们如何创建文件,编辑创建后的文件,对创建的文件进行编辑。 下面所说的是我们如何打开现有的文件,并进行编辑
load_workbook
模块导入:
from openpyxl import load_workbook
- 读取工作簿数据
方式一:
from openpyxl import load_workbook
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
ws = wb['用户信息表'] # 拿到工作薄对象
print(ws['A1'].value) # 取出工作薄对象中 A1 位置的值
方式二:
from openpyxl import load_workbook
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
ws = wb['用户信息表']
print(ws.cell(row=2, column=1).value) # 通过行与列的形式来取值
方式三:
方式三(逐行读取)
from openpyxl import load_workbook
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
ws = wb['用户信息表']
for row in ws.rows: # 获取每一行的数据
for data in row: # 获取每一行中单元格的数据
print(data.value) # 打印单元格的值
相关文章
- 图像处理工具Python扩展库,你了解吗?
- 十个常用的损失函数解释以及Python代码实现
- 30 个数据科学工作中必备的 Python 包
- 如何在 Windows 上安装 Python
- 几行 Python 代码就可以提取数百个时间序列特征
- 使用Python快速搭建接口自动化测试脚本实战总结
- 哪种编程语言最适合开发网页抓取工具?
- 不要在 Python 中使用循环,这些方法其实更棒!
- 震惊!用Python探索《红楼梦》的人物关系!
- 如何最简单、通俗地理解Python模块?
- 酷炫,Python实现交通数据可视化!
- 为什么急于寻找Python的替代者?
- 30 个数据工程必备的Python 包
- 去字节面试被面这题能答上来吗?谈谈你对时间轮的理解?
- 火山引擎在行为分析场景下的 ClickHouse JOIN 优化
- 用Python爬取了某宝1166家月饼数据进行可视化分析,终于找到最好吃的月饼~
- 在 Linux 上试试这个基于 Python 的文件管理器
- Python列表解析式到底该怎么用?
- 如何快速把你的 Python 代码变为 API
- 十个Python初学者常犯的错误