广告区
广告区
关注本站官方公众号:程序员总部,领取三大福利!
福利一:python和前端辅导
福利二:进程序员交流微信群,专属于程序员的圈子
福利三:领取全套零基础视频教程(python,java,前端,php)
发布于2022-08-01 18:01 阅读(924) 评论(0) 点赞(15) 收藏(4)
➤数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件。因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道。Python处理Excel 常用的系列库有:xlrd、xlwt、xlutils、openpyxl
◈xlrd - 用于读取 Excel 文件,支持.xls和.xlsx格式
◈xlwt - 用于写入 Excel 文件,只支持.xls格式
◈xlutils - 操作 Excel 文件的实用工具,如复制、分割、筛选等
◈openpyxl - 既可以读文件、也可以写文件、也可以修改文件;但是,openpyxl 库不支持 xls 格式的Excel文档。
一、安装库的操作
打开cmd,输入命令进行安装:pip install xlwt
打开cmd,输入命令进行安装:pip install xlrd
打开cmd,输入命令进行安装:pip install openpyxl
二、xlwt库使用
◈xlwt - 用于写入 Excel 文件,只支持.xls格式
1.需求:创建一个新的xls文件中写入如下数据,然后保存为login.xls
2.使用xlwt写入数据的步骤
1)导包:import xlwt
2)创建一个文件对象:book=xlwt.Workbook()
3)添加一个sheet工作表:sh1=book.add_sheet(Sheetname)
4)添加内容:sh1.write(row,col,value) #单元格行和列分别从0开始
5)保存文件:book.save(filename)
3.代码实现
# coding = utf-8 import xlwt #创建一个excel文件对象 book = xlwt.Workbook() #添sheet工作表 sh1 = book.add_sheet('登录数据') sh1.write(0,0,'用户名') # 在A1单元格写入数据 sh1.write(0,1,'密码') # 在B1单元格写入数据 row1 = ['test','test123'] # 结合循环写入一行数据 for i in range(len(row1)): sh1.write(1,i,row1[i]) book.save('login.xls') # 保存文件
三、xlrd库使用
◈xlrd - 用于读取 Excel 文件,支持.xls和.xlsx格式
1.需求:读取login.xls文件中指定的单元格、指定行、指定的列或者所有的数据
2.使用xlrd读取数据的步骤
1)导包:import xlrd
2)打开一个文件:book=xlrd.open_workbook(filename)
3)使用sheet工作表:sh1=book.sheet_by_name(sheet_name)
4)读取sheet工作表的属性信息
print('sheet总行数',sh1.nrows)
print('sheet总列数',sh1.ncols)
5)读取sheet工作表存储的文本内容
1)读取一行:row1=sh1.row_values(row) # 行号从0开始
2)读取一列:col1=sh1.col_values(col) # 列号从0开始
3)读取一个单元格:cell_value=sh1.cell(row,col).value
3.代码实现
# coding = utf-8 import xlrd book = xlrd.open_workbook('login.xls') sh1 = book.sheet_by_name('登录数据') # 读取第一行的数据 row1 = sh1.row_values(0) print('第一行数据:',row1) # 读取第一列的数据 col1 = sh1.col_values(0) print('第一列数据:',col1) # 读取指定单元格的数据 cell = sh1.cell(1,1).value print('A2单元格的值:',cell) # 读取所有的数据 rows = sh1.nrows # 获取当前工作表总的行数 for i in range(rows): print('所有数据打印,第{}行,数据为:{}:'.format(i,sh1.row_values(i)))
4.代码运行结果展示:
四、openpyxl库使用--写入数据
◈openpyxl - 既可以读文件、也可以写文件、也可以修改Excel文件;但是不支持 xls 格式
1.需求:对已存在的test_api.xlsx文件写入接口测试结果,如下图所示
2.使用openpyx写入数据的步骤
1)导包:import openpyxl
2)打开文件:book = openpyxl.load_workbook(filename)
3)使用sheet工作表:sheet = book[sheetname]
4) 单元格写入:sh1['F2'] = 'PASS' 或者 sh1.cell(row,col).value='FAIL' #行和列的索从1开始
6:保存文件:book.save(filename)
3.代码实现
# coding = utf-8
import openpyxl
# 打开excel文件
book = openpyxl.load_workbook('test_api.xlsx')
# 通过工作表名字打开工作表
sh1 = book['register']
# 通过单元格的名称写入数据
sh1['I2'] = '不通过'
# 通过单元格的行、列写入数据
sh1.cell(3,9).value = '通过'
# 保存文件
book.save('test_api.xlsx')
五、openpyxl库使用--读取数据
1.需求:读取test_api.xls文件中login工作表指定的单元格、指定行、或者所有的数据
2.使用openpyx读取数据的步骤
1)导包:import openpyxl
2)打开文件:book = openpyxl.load_workbook(filename)
3)使用sheet工作表:sheet = book[sheetname]
4)读取sheet工作表的属性信息
返回工作表的最大行数:sheet.max_row
返回工作表的的最大列数:sheet.max_column
5)读取sheet工作表存储的文本内容
1)按单元格读取:cell1 = sh1['A1'].value 或者 cell2= sh1.cell(row,col).value #行和列的索引值是从1开始的
2) 按行读取
for row in sheet.iter_rows(max_row=3):# 读取前3行数据
for cell in row:
print(cell.value,end='\t')
print()
3.代码实现
# coding = utf-8 import openpyxl book = openpyxl.load_workbook('test_api.xlsx') sh1 = book['login'] # 读取单元格数据 cell1 = sh1['A1'].value print('A1单元格的值为:',cell1) cell2 = sh1.cell(1,2).value print('B1单元格的值为:',cell2) # 读取前2行数据 print('读取前2行数据:') for row in sh1.iter_rows(max_row= 2): # 读取前2行数据 for cell in row: print(cell.value,end='\t|\t') # 不换行输出这一行中每个单元格的值 print() # 输出完一行之后换行 # 读取所有的数据 print('读取所有的数据:') rows = sh1.max_row # 获取当前工作表总的行数 for row in sh1.iter_rows(max_row=rows): # 读取所有的数据 for cell in row: print(cell.value, end='\t|\t') # 不换行输出这一行中每个单元格的值 print() # 输出完一行之后换行
4、运行结果
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】
软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.
美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看
软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试
原文链接:https://blog.csdn.net/m0_67695717/article/details/126059968
关注本站官方公众号:程序员总部,领取三大福利!
福利一:python和前端辅导
福利二:进程序员交流微信群,专属于程序员的圈子
福利三:领取全套零基础视频教程(python,java,前端,php)
关注公众号回复python,免费领取 全套python视频,回复充值+你的账号,免费为您充值1000积分
作者:喵喵喵
链接:https://www.pythonheidong.com/blog/article/1630386/e1cf3f4f10d0449ae2bd/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!