a1_fct_vision_testlog_txt_processing >>> 컴1
목적 : 오기입된 파일명 및 내용 파악
a.파일 경로 구성
상위 경로 : C:\Users\user\Desktop\RAW_LOG\
중간 폴더 경로 : TC6, TC7, TC8, TC9, Vision03으로 리스트할 것
하위 폴더 경로 : yyyymmdd\GoodFile or BadFile > 안의 모든 파일들이 대상
result) 총 개수 산출
b. 설비 분류
TC6~9 > FCT1~4로 Convert하여 표기
Vision3 > Vision1 또는 2로 Convert하여 표기
Vision03 폴더 안의 파일은 파일 내용 6번째 줄에
‘Test Program : LED1’ 인 경우 > Vision1
‘Test Program : LED2’ 인 경우 > Vision2
result) 각 설비별 파일명 개수 dataframe 으로 집계
c.파일명 길이 확인
‘.txt’ 같은 파일 확장자 명은 제외
파일명 18번째 자리가 ‘C or 1’ 이면 총 51자리 일 것
파일명 18번째 자리가 ‘J’ 이면 총 51 or 53자리 일 것, 단 53자리 경우 47번째 자리에 ‘R’이 있을 것
파일명 18번째 자리가 ‘P or N’ 이면 총 52자리 일 것
파일명 18번째 자리가 ‘S’ 이면 총 52 or 54자리 일 것, 단 54자리 경우 48번째 자리에 ‘R’이 있을 것
(CT 산출 시에 총 53~54자리 문자열을 가진 파일명들은 따로 집계될 것 - 제품 SW Reflash한 다음 Test한 조건)
result) 위의 조건에서 벗어나는 파일명을 경로를 표기하여 dataframe으로 집계
경로는 TC6~9가 포함되어 있다면 FCT1~4로, Vision3이 포함되어 있다면 b조건에 따라 Vision1 또는 Vision2로 표기
d. yyyymmdd 비교 > 파일명 vs 폴더명
‘.txt’ 같은 파일 확장자 명은 제외
파일명 총 51번째 자리 경우 32~39자리가 yyyymmdd
파일명 총 52번째 자리 경우 33~40자리가 yyyymmdd
파일명 총 53번째 자리 경우 32~39자리가 yyyymmdd
파일명 총 54번째 자리 경우 33~40자리가 yyyymmdd
비교하여 틀린 파일명 산출
단, 폴더 yyyymmdd & yyymmdd(d+1)은 산출 제외 (현 MES 시간 Delay 있음)
result) dataframe으로 파일명 & 경로 산출
경로는 TC6~9가 포함되어 있다면 FCT1~4로, Vision3이 포함되어 있다면 b조건에 따라 Vision1 또는 Vision2로 표기
e. 엑셀 파일 생성
sheet1) b번 result
sheet2) c번 reslut & d번 result를 경로 / 파일명 / 사유로 입력될 것
—> a / b / c / d / e 단계마다 결과를 print()로 명확하게 보여주는 구조
p) jupyer note book으로 test후
정식 Python 스크립트로 생성 후 잘못된 파일명을 가진 파일이 GoodFile에 존재 경우 알람 후 stop없이 계속 실행 > json파일 변환
—> 위와 같은 Sequence로 json 파일 확인 후 파싱
a2_fct_vision_testlog_json_processing>>> 컴1
목적 : RDBMS로 올리기 위한 변환
a.파일 경로 구성
상위 경로 : C:\Users\user\Desktop\RAW_LOG\
중간 폴더 경로 : TC6, TC7, TC8, TC9, Vision03으로 리스트할 것
하위 폴더 경로 : yyyymmdd\GoodFile or BadFile > 안의 모든 파일들이 대상
b. 설비 분류
TC6~9 > FCT1~4로 Convert하여 표기
Vision3 > Vision1 또는 2로 Convert하여 표기
c. TC6~9안의 text파일들 j.son파일 변환 시 key : value 분류
파일 내용 9번째 줄, 아래 줄은 예시
ex) ‘End Time :2025/10/01 01:46:41’
—>End Time :yyyy/mm/dd hh:mi:ss > 로 해석
key : value는 End day : (yyyymmdd) 와
key : value는 End time : (hh:mi:ss), 모두 문자열로 변환
파일 내용 3번째 줄, 아래 줄은 예시
ex) ‘Station : FCT1’
FCT1~4까지 있음
최종 key : value는 Station : (내용), 모두 문자열로 변환
파일 내용 5번째 줄, 아래 줄은 예시
ex) ‘Barcode information :BA1WJ25273503681SJ8T-14F014-AE’
최종 key : value는 Barcode information : (내용), 모두 문자열로 변환
파일 내용 13번째 줄, 아래 줄은 예시
ex) ‘Result :PASS’
최종 key : value는 Result : (내용), 모두 문자열로 변환
파일 내용 14번째 줄, 아래 줄은 예시
ex) ‘Run Time :27.0’
최종 key : value는 Run Time : (내용), 모두 문자열로 변환
Vision3 폴더 안의 파일은 파일 내용 6번째 줄에
‘Test Program : LED1’ 인 경우 > Vision1
‘Test Program : LED2’ 인 경우 > Vision2
7 .Vision1~2는 3번째 줄 데이터는 무시
Vision1~2의 9번째 줄 예시는
ex) ‘End Time : 2025-10-01 04:30:55’
—>End Time :yyyy-mm-dd hh:mi:ss > 로 해석
key : value는 End day : (yyyymmdd) 와
key : value는 End time : (hh:mi:ss), 모두 문자열로 변환
a3_vision_json_table_processing>>> 컴1
목적 : RDBMS로 올리기 위한 변환
목적 : Vision testlog를 테스트 항목에 맞춰 json 파일로 변환