Mar-27-2023, 01:59 PM
Hi all,
I made a tool checking IQR value in CSV, but I feel so stupid with my code, such as loading text control, and update value.
Can someone help me make a class for that as screenshots?
1)More parameter checking only copy a class.
2)when check file without goldensample how to handle this issue.
I made a tool checking IQR value in CSV, but I feel so stupid with my code, such as loading text control, and update value.
Can someone help me make a class for that as screenshots?
1)More parameter checking only copy a class.
2)when check file without goldensample how to handle this issue.
import PySimpleGUI as sg import pandas as pd import glob,os from datetime import datetime import numpy as np import re from decimal import Decimal sg.theme('Topanga') left_part= [ [sg.Text('',size=(50,0),font=("Helvetica",10),text_color='red',justification="center",auto_size_text=True,key='Sens1K')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site1-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site2-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site3-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site4-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site5-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site6-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site7-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site8-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site9-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site10-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site11-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site12-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site13-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site14-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site15-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site16-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site17-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site18-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site19-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site20-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site21-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site22-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site23-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site24-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site25-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site26-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site27-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site28-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site29-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site30-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site31-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site32-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site33-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site34-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-site35-')], [sg.Text('',size=(50,0),font=("Helvetica",10),text_color='red',justification="center",auto_size_text=True,key='Sens10K')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite1-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite2-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite3-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite4-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite5-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite6-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite7-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite8-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite9-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite10-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite11-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite12-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite13-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite14-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite15-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite16-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite17-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite18-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite19-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite20-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite21-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite22-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite23-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite24-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite25-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite26-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite27-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite28-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite29-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite30-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite31-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite32-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite33-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite34-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-10ksite35-')], ] right_part=[ [sg.Text('',size=(50,0),font=("Helvetica",10),text_color='red',justification="center",auto_size_text=True,key='Sens8K')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite1-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite2-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite3-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite4-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite5-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite6-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite7-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite8-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite9-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite10-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite11-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite12-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite13-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite14-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite15-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite16-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite17-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite18-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite19-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite20-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite21-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite22-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite23-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite24-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite25-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite26-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite27-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite28-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite29-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite30-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite31-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite32-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite33-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite34-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",key='-8ksite35-')], [sg.Text('',size=(45,0),font=("Helvetica",10),text_color='red',justification="center",auto_size_text=True,key='Sens0K')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite1-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite2-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite3-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite4-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite5-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite6-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite7-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite8-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite9-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite10-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite11-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite12-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite13-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite14-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite15-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite16-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite17-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite18-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite19-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite20-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite21-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite22-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite23-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite24-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite25-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite26-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite27-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite28-')], [sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite29-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite30-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite31-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite32-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite33-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite34-'), sg.Text('',size=(12,1),font=("Helvetica",8),background_color='white',text_color='black',justification="center",visible = False,key='-0ksite35-')], ] BNT = [ [sg.Text("Tester"),sg.Combo(values=['CAMEMSNIOSAI11','CAMEMSNIOSAI21','CAMEMSNIOSAI31','CAMEMSNIOSAI41','CAMEMSNIOSAI51'],default_value='CAMEMSNIOSAI11',key='-Tester-'), sg.Text("Project"),sg.Combo(values=['P020','P027','P025','P033'],default_value='P020',key='-Model-')], [sg.Radio('FR Check',group_id="RadioDemo",default=True,size=(10,1),k='-R1-'),sg.Radio('Phase Check',group_id="RadioDemo",default=False,size=(15,1),k='-R2-')], [sg.Text(""),sg.Text('TestLot:'),sg.Text('',size=(20,0),font=("Helvetica",10),text_color='red', justification="left",key='-testlot-'),sg.Text('Testdate:'), sg.Text('',size=(20,0),font=("Helvetica",10), text_color='red',justification="left",key='-testdate-')], [sg.Text("",size=(1,0)),sg.OK('Check Master',key='OK'),sg.Exit(size=(5,0))] ] layout = [ [BNT,sg.Column(left_part, vertical_alignment='top'), sg.VSeparator(),sg.Column(right_part, vertical_alignment='top')], ] window=sg.Window('Master Check',layout,font='Courier 12') working_directory = os.getcwd() IQR_path=r'C:\Users\Desktop\111' Standard_median=-38.25 # CAMEMSNIOSAI11_P020=-38.25 # CAMEMSNIOSAI11_P027=-38.16 # CAMEMSNIOSAI21_P020=-38.25 # CAMEMSNIOSAI21_P027=-38.16 # CAMEMSNIOSAI31_P020=-38.25 # CAMEMSNIOSAI31_P027=-38.16 # CAMEMSNIOSAI41_P020=-38.25 # CAMEMSNIOSAI41_P027=-38.16 # CAMEMSNIOSAI51_P020=-38.35 # CAMEMSNIOSAI51_P027=-38.16 # CAMEMSNIOSAI61_P025=-34.0 # CAMEMSNIOSAI71_P025=-34.0 # CAMEMSNIOSAI71_P033=-34.0 # CAMEMSNIOSAI81_P025=-34.0 # CAMEMSNIOSAI81_P033=-34.0 # CAMEMSNIOSAI91_P025=-34.0 # CAMEMSNIOSAI91_P033=-34.0 # def standard_median(tester,project): # tester_model=tester+"_"+project # print(tester_model) def read_csv(csv_add,tester,checkmodel,project): Sens1K=[] paint0=[] Sens8K=[] paint1=[] Sens10k=[] paint2=[] Noise=[] paint3=[] Phase1k=[] paint4=[] Phase3k=[] paint5=[] Phase10k=[] paint6=[] df=pd.read_csv(csv_add,header=2) df=df[df['Lot Code'].str.contains("golden")] df.columns = df.columns.str.split('.').str[0] lotnum=df['Lot Code'].tail(1).squeeze() testtime=df['Lot Finish Time'].tail(1).squeeze() try: Sens1k_raw=df['DUT_NM_Sens_Corr1000Hz_94SPL__Median'].tail(1).squeeze() Sens8K_raw=df['DUT_NM_relativeSens8000Hz_RFR_Median'].tail(1).squeeze() Sens10K_raw=df['DUT_NM_relativeSens10000Hz_RFR_Median'].tail(1).squeeze() NM_Noise_raw=df['DUT_NM_Noise_Median'].tail(1).squeeze() Phase1k_raw=df['DUT_Phase1kHz_RPR_Median'].tail(1).squeeze() Phase3k_raw=df['DUT_Phase3kHz_RPR_Median'].tail(1).squeeze() Phase10K_raw=df['DUT_Phase10kHz_RPR_Median'].tail(1).squeeze() for sens1k in Sens1k_raw: if sens1k!=0: tt=sens1k-Standard_median Sens1K.append(Decimal(tt).quantize(Decimal("0.00"))) paint0.append(compared_Sens(tt,0.3,0.2,0.1)) else: Sens1K.insert(len(Sens1K),np.nan) paint0.insert(len(paint0),'white') for sens8k in Sens8K_raw: if sens8k!=0: Sens8K.append(Decimal(sens8k).quantize(Decimal("0.00"))) paint1.append(compared_Sens(sens8k,1,0.6,0.3)) else: Sens8K.insert(len(Sens8K),np.nan) paint1.insert(len(paint1),'white') for sens10k in Sens10K_raw: if sens10k != 0: Sens10k.append(Decimal(sens10k).quantize(Decimal("0.00"))) paint2.append(compared_Sens(sens10k,1,0.6,0.3)) else: Sens10k.insert(len(Sens10k),np.nan) paint2.insert(len(paint2),'white') for noise in NM_Noise_raw: if noise!=0: Noise.append(Decimal(noise).quantize(Decimal("0.00"))) paint3.append(compared_Noise(noise,103.2,102.5,102)) else: Noise.insert(len(Noise),np.nan) paint3.insert(len(paint3),'white') for phase1k in Phase1k_raw: if phase1k!=0: Phase1k.append(Decimal(phase1k).quantize(Decimal("0.00"))) paint4.append(compared_Sens(phase1k,1,0.8,0.5)) else: Phase1k.insert(len(Phase1k),np.nan) paint4.insert(len(paint4),'white') for phase3k in Phase3k_raw: if phase1k!=0: Phase3k.append(Decimal(phase3k).quantize(Decimal("0.00"))) paint5.append(compared_Sens(phase3k,1.5,1,0.5)) else: Phase3k.insert(len(Phase3k),np.nan) paint5.insert(len(paint5),'white') for phase10k in Phase10K_raw: if phase10k!=0: Phase10k.append(Decimal(phase10k).quantize(Decimal("0.00"))) paint6.append(compared_Sens(phase10k,4,3,1.5)) else: Phase10k.insert(len(Phase10k),np.nan) paint6.insert(len(paint6),'white') now = datetime.now() # current date and time date_time = now.strftime("%m/%d/%Y-%H:%M:%S") ab=pd.Series([tester,date_time]).to_frame().T aa=pd.DataFrame(Sens1K).T bb=pd.DataFrame(Sens8K).T cc=pd.DataFrame(Sens10k).T dd=pd.DataFrame(Phase1k).T ee=pd.DataFrame(Phase3k).T ff=pd.DataFrame(Phase10k).T gg=pd.DataFrame(Noise).T if checkmodel=='Sens': result= np.concatenate([ab,aa,bb,cc],axis=1) result=pd.DataFrame(result) result.to_csv(r'sens_log.csv',mode='a',index=False,header=False) else: result1= np.concatenate([ab,dd,ee,ff,gg],axis=1) result1=pd.DataFrame(result1) result1.to_csv(r'phase_log.csv',mode='a',index=False,header=False) except Exception as e: print(e) return Sens1K,paint0,Sens8K,paint1,Sens10k,paint2,Noise,paint3,Phase1k,paint4,Phase3k,paint5,Phase10k,paint6,lotnum,testtime def compared_Sens(val,limit1,limit2,limit3): # 0.3,0.2,0.1 if np.abs(val)>limit1: text_color='Dark Red' elif np.abs(val)>limit2: text_color='Red' elif np.abs(val)>limit3: text_color = 'orange' elif pd.isnull(val): text_color='White' else: text_color='Green' return text_color def compared_Noise(val,limit1,limit2,limit3): # 103.2,102.5,102 if np.abs(val)>limit1: text_color='green' elif np.abs(val)>limit2: text_color='orange' elif np.abs(val)>limit3: text_color = 'red' elif pd.isnull(val): text_color='White' else: text_color='dark red' return text_color while True: event,value = window.read() if event in (sg.WIN_CLOSED,'Exit'): break elif event == "OK": for j in range(0,35): window[f'-site{j+1}-'].update('',background_color='white') window[f'-8ksite{j+1}-'].update('',background_color='white') window[f'-10ksite{j+1}-'].update('',background_color='white') window[f'-0ksite{j+1}-'].update('',background_color='white') try: if value['-R1-']==True: model='Sens' for k in range(0,35): window.Element(f'-0ksite{k+1}-').Update(visible=False) window.Element('Sens0K').Update(visible=False) window['Sens1K'].update('DUT_NM_Sens_Corr1000Hz_94SPL__Median') window['Sens8K'].update('DUT_NM_relativeSens8000Hz_RFR_Median') window['Sens10K'].update('DUT_NM_relativeSens10000Hz_RFR_Median') Tester=value['-Tester-'] project=value['-Model-'] IQR_files=os.path.join(IQR_path,project,'ENG\IQR\*.csv') IQR_all=glob.glob(IQR_files) IQR_all.sort(key=lambda file_name:os.path.getmtime(file_name),reverse=True) for file_IQR in IQR_all: FP=re.findall(Tester,file_IQR) FP="".join(FP) if FP==Tester: Sens1k,paint0,Sens8k,paint1,Sens10k,paint2,Noise,paint3,Phase1k,paint4,Phase3k,paint5,Phase10k,paint6,lotnum,testtime=read_csv(file_IQR,Tester,model,project) break window['-testlot-'].update(lotnum) window['-testdate-'].update(testtime) for j in range(0,35): window[f'-site{j+1}-'].update(f'Site{j+1}:{Sens1k[j]}',background_color=paint0[j]) window[f'-8ksite{j+1}-'].update(f'Site{j+1}:{Sens8k[j]}',background_color=paint1[j]) window[f'-10ksite{j+1}-'].update(f'Site{j+1}:{Sens10k[j]}',background_color=paint2[j]) else: model = 'Phase' for k in range(0,35): window.Element(f'-0ksite{k+1}-').Update(visible=True) window.Element('Sens0K').Update(visible=True) window['Sens1K'].update('DUT_Phase1kHz_RPR_Median') window['Sens8K'].update('DUT_Phase3kHz_RPR_Median') window['Sens10K'].update('DUT_Phase10kHz_RPR_Median') window['Sens0K'].update('DUT_NM_Noise_Median') Tester = value['-Tester-'] project = value['-Model-'] IQR_files = os.path.join(IQR_path, project, 'ENG\IQR\*.csv') IQR_all = glob.glob(IQR_files) IQR_all.sort(key=lambda file_name: os.path.getmtime(file_name), reverse=True) for file_IQR in IQR_all: FP = re.findall(Tester,file_IQR) FP = "".join(FP) if FP == Tester: Sens1k,paint0,Sens8k,paint1,Sens10k,paint2,Noise,paint3,Phase1k,paint4,Phase3k,paint5,Phase10k,paint6,lotnum,testtime=read_csv(file_IQR,Tester,model,project) break window['-testlot-'].update(lotnum) window['-testdate-'].update(testtime) for j in range(0,35): window[f'-site{j+1}-'].update(f'Site{j+1}:{Phase1k[j]}',background_color=paint4[j]) window[f'-8ksite{j+1}-'].update(f'Site{j+1}:{Phase3k[j]}',background_color=paint5[j]) window[f'-10ksite{j+1}-'].update(f'Site{j+1}:{Phase10k[j]}',background_color=paint6[j]) window[f'-0ksite{j+1}-'].update(f'Site{j+1}:{Noise[j]}',background_color=paint3[j]) except Exception as e: print(e) window.close()