前言
最近使用Appium自动化在测试设备配网的情况,需要记录每次成功与否和耗时时间。
由于App不是很稳定,执行一段时间会奔溃,因此数据只能通过追加的形式写入到txt文件。
实现过程
存储在txt文件的数据格式是这样的:
需要提取的数据是成功与否及耗时时间,因此需要对每一行的数据进行解析:
def get_data(source_path): result_list = [] # 定义两个空的列表,用于存储配网情况和耗时时间 time_list = [] for line in open(source_path): temp = str(line).split(',') # 通过","将数据分隔成两部分 result = temp[0].split(':')[-1] # 提取配网情况 # time = temp[1].split(':')[-1] time_value = temp[1].split(':')[-1].split('s')[0] # 提取耗时时间的值 result_list.append(result) # 将数据依次添加到列表里 time_list.append(time_value) return result_list, time_list
已将txt的数据提取出来了,下面只要将数据写入到excel对应的单元格即可:
python实现excel文件的写入需要安装第三方库xlrd和xlutils;另外excel的后缀需为xls,使用xlsx的话文件无法打开
xlrd的安装:pip3 install xlrd
xlutils的安装:pip3 install xlutils
import xlrd from xlutils.copy import copy excel_file = "/XXXXX/XXXXX/excel.xls" # Excel文件的路径 rb = xlrd.open_workbook(excel_file) wb = copy(rb) # 需进行copy操作才可写入 ws = wb.get_sheet(0) # 获取对应的sheet,需用get_sheet()方法才可往单元格写数据 for i in range(len(result)): ws.write(i + 1, 4, result[i]) ws.write(i + 1, 5, int(time[i])) wb.save(excel_file) # 将文件进行保存操作