#!/usr/bin/python3 # -*- coding: utf-8 -*- # Author: xurongzhong#126.com wechat:pythontesting qq:37391319 # CreateDate: 2018-1-8 # parse_test_cases_data.py ''' æ±æ»æµè¯ç¨ä¾çæçæ°æ®ã ä½¿ç¨æ¹æ³ï¼ åæ°input_directoryï¼ä¸ºå 嫿µè¯ç»æçç®å½ãinput_directoryä¸é¢ææµè¯äººåçæ¼é³åç®å½ï¼ æ¼é³åç®å½ä¸ææ°åç®å½ï¼æ¯å¦01ï¼å¯¹åºæµè¯ç¨ç¨ä¾çåºå·ã01ç®å½ä¸é¢ælog.xlsä¹ç±»çæµè¯è®°å½ æä»¶ã åæ°ï¼outputï¼ä¸ºæ±æ»æµè¯çè¾åºæä»¶ã ''' import traceback import re import shutil import os import pandas from data_common import maps, produce_xls input_directory = r"D:\test" output = r"D:\output.xls" file_type = "xls" def get_result(file_name, type_=0): ''' ç»è®¡æµè¯å·¥å ·çæçç¨ä¾ã ''' try: if file_name.endswith('csv'): records = pandas.read_csv(file_name) else: records = pandas.read_excel(file_name) total = len(records) compare = len(records[records['æ¯å¯¹'] == 'éè¿']) live = len(records[records['æ´»ä½'] == 'éè¿']) eye = len(records[records['çéç¼'] == 'éè¿']) success = len(records[records['ç»æ'] == 'éè¿']) test = len(records[records['å½åå°è¯æ¬¡æ°'] == 1]) except Exception as info: print('Error in reading: {}'.format(file_name)) print(info) traceback.print_exc() print('continue...') total = compare = live = eye = success = test = 0 if type_ != 0 : print(records) return (total, compare, live, eye, success, test) else: return (total, compare, live, success, test) def get_results(input_directory,file_name='xls', type_=0): # éåç®å½ä»¥ç»è®¡æµè¯å·¥å ·çæçxlsæä»¶ results = {} for root, dirs, files in os.walk(input_directory): for file_name in files: if file_name.endswith(file_type): seq = int(root.split(os.sep)[-1].lstrip('0')) result = get_result( u"{}{}{}".format(root, os.sep, file_name),type_) if seq not in results: results[seq] = [] results[seq].append(result) if str(seq) not in file_name: os.chdir(root) shutil.move(file_name, u"{}_{}".format(seq, file_name)) return results results = get_results(input_directory,type_=0) print(results) produce_xls(results, output, 50, type_=0) #results = get_results(input_directory,type_=1) #print(results) #produce_xls(results, output, 76, type_=1)