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()
