自动填表脚本
import re,openpyxl,time,os
'''獲取imei號、初始vol、續航總時間利用正則表達式與list知識獲取這些數據獲取excel模板獲取一個系統定義好的模板將對應的數據填入保存文件修改文件名字時間
'''
class auto_fill(object):def __init__(self):pass''' 獲取文件名 '''def get_file_name(self):list_file_name = os.listdir()middle = int(len(list_file_name)/2)list_time = list_file_name[:middle]list_ability = list_file_name[middle:]return list_time,list_ability''' 獲取運行時間 '''def get_run_time(self,list_name):str_time = []for i in list_name:with open(i,mode='r',encoding='UTF-8') as file:sss = file.readline()str = sss[2:-2].replace('小時',':')str_time.append(str)return str_time''' 獲取imei vol數據 '''def get_ability(self,list_name):re_time_vol = re.compile(r'Voltage: \d\d\d\d')re_imei = re.compile(r'IMEI號:\d{15}')str_ability_imei = []str_ability_vol = []for i in list_name:with open(i,mode='r',encoding='UTF-8') as file:sss1 = file.readline()sss2 = file.readline()mo_str_vol = re_time_vol.search(sss1)if mo_str_vol:sss1 = mo_str_vol.group()[-4:]else:sss1 = 'null'mo_str_imei = re_imei.search(sss2)if mo_str_imei:ss2 = mo_str_imei.group()[-4:]else:ss2 = 'null'str_ability_vol.append(sss1)str_ability_imei.append(ss2)return str_ability_imei,str_ability_vol''' 插入空行,使列表更利于填寫'''def change_list(self,list_2):for i in range(1,len(list_2)+1):if i%5 == 0:list_2.insert(i-1, '')return list_2''' 行列互換 '''def row_to_col(self,list1):return list(map(list, zip(*list1)))''' 填表 '''def read_write_excel(self,list1_t):wb = openpyxl.load_workbook(r'E:\excel模板\xxxxx PVT APK續航測試用例報告_V3.2_timetimetime.xlsx')sheet = wb.get_sheet_by_name("詳細報告")project_path = os.getcwd()_, project_name = os.path.split(project_path)sheet['A1'] = project_name + sheet['A1'].valueend_length = len(list1_t) + 2for i in range(3,end_length+1):for j in range(2,5):sheet.cell(row=i, column=j).value = list1_t[i-3][j-2]wb.save(project_name + ' APK續航測試用例報告_V3.2_'+time.strftime("%Y%m%d",time.localtime())+'.xlsx')if __name__ == "__main__":address = input('請輸入目標文件目錄:\n')os.chdir(r'%s'%address)obj = auto_fill()list_time,list_ability = obj.get_file_name()str_time = obj.get_run_time(list_time)list_imei ,list_vol = obj.get_ability(list_ability)list_imei = obj.change_list(list_imei)list_vol = obj.change_list(list_vol)str_time = obj.change_list(str_time)list_all = [list_imei,list_vol,str_time]list_all2 = obj.row_to_col(list_all)obj.read_write_excel(list_all2)print('ok!')
這個程序編寫的時間有點長,大部分都是在上班時空余時間中抽空編寫完的。總體來說感覺還是不錯的,雖然不是腳本啥的。
近段時間持續在刷《流暢的python》,進度有點慢。因為我還在繼續配置Android自動化測試的環境,終于快搭建成功了。我組長之前與我說只要下載一個sdk放進去就行了。放進去之后發現出來各種問題,因為eclipse過于老舊,之前也沒去學習怎么搭建開發環境。不過還好,終于快搭建完成了。
在刷《流暢的python》中感悟頗多,可惜沒時間敲代碼練手,只能嘗試盡量的多去記住一些東西。不得不說這本書真的是好,誰看誰知道。
總結
- 上一篇: 假期项目:智能家居之环境监测系统day1
- 下一篇: 模拟器下载