软件测试|Python第三方库使用(一)

举报
霍格沃兹测试开发 发表于 2023/02/07 17:56:08 2023/02/07
【摘要】 Python第三方库使用之openpyxl openpyxl模块简介openpyxl模块属于第三方模块,是一个在 python 中能够处理 excel 文件的模块,还有比较出名的是xlrd、xlwt 分别控制excel文件的读写,这俩个能够兼容所有版本的文件。openpyxl 针对 excel 2003版本之前的兼容性可能不好 但是功能更加强大注:excel文件的版本及后缀2003版本之前...

Python第三方库使用之openpyxl

openpyxl模块

  1. 简介
    openpyxl模块属于第三方模块,是一个在 python 中能够处理 excel 文件的模块,还有比较出名的是xlrd、xlwt 分别控制excel文件的读写,这俩个能够兼容所有版本的文件。openpyxl 针对 excel 2003版本之前的兼容性可能不好 但是功能更加强大

注:excel文件的版本及后缀
2003版本之前 excel的文件后缀是xls
2003版本之后 excel的文件后缀是xlsx、csv

2、创建文件相关

  1. 创建excel文件
  • 关键词:workbook
  • 作用:使用 openpyxl 创建文件。只需导入Workbook类
导入模块:
	form openpyxl import workbook
    
代码用法:
	from openpyxl import Workbook
    wb = Workbook
	 # 一个 excel 文件创建成功
  1. 创建工作簿
  • 关键词:cerate_sheet( )
  • 作用:
    • 使用 openpyxl 创可以创建自定义名称的工作簿。括号里的参数是工作簿名称,还有一个参数是工作簿的位置,也可以不写建文件。只需导入Workbook类
    • 可以创建多个工作簿,并且可按照顺序排列
导入模块:
	form openpyxl import workbook
    
代码用法:
	from openpyxl import Workbook
	wb = Workbook()
	ws1 = wb.cerate_sheet('工作簿名称'0)

  1. 修改工作簿名称
  • 关键词:title
  • 作用:
    • 可以更改工作簿名称
    • 通过待修改名称工作簿‘点’的方式在后方赋予新的名称
导入模块:
	form openpyxl import workbook
    
代码用法:
	from openpyxl import Workbook
	wb = Workbook()
	ws1 = wb.cerate_sheet('用户信息表'0)
	ws1.title = 'user_infor'

  1. 修改工作簿颜色
  • 关键词:sheet_properties.tabColor
  • 作用:
    • 用来给工作簿背景修改颜色,需要用到RGB色域
导入模块:
	from openpyxl import Workbook

    wb = Workbook()
    ws1 = wb.create_sheet('用户信息表', 0)
    ws1.sheet_properties.tabColor = 'FF6666' 
    # 将标题背景改为指定RRGGBB颜色代码
  1. 查看文件所有工作簿
  • 关键词: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、写入内容相关

  1. 写入/修改内容
  • 关键词: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'
  1. 一次写入多个数据
  • 关键词:append()
  • 作用:
    • 可以一次性写入多个数据值,通过行的方式写入,在关键词后方参数内将数据值以列表的形式写入
导入模块:
	from openpyxl import Workbook

代码用法:
	wb = Workbook()
	ws = wb.cerate_sheet('user_name'0)
	ws.append(['序号''姓名''性别''年龄'])
	ws.append(['1''kangkang''男''18'])

4、读取内容相关

  1. 访问多个单元格
  • 直接使用切片操作的方式
x = ws['A1':'C2']
x1 = ws['C']
x2 = ws['C:D']
x3 = ws[10]
x4 = ws[5:10]
  1. 获取单元格值
  • 关键词: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
  1. 读取工作簿数据

方式一:

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)  # 打印单元格的值
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。