Projet[01]-Face DB 구축 [2] 응답 데이터 처리(구글 시트)

2023. 12. 3. 00:31Project/Face DB 구축

반응형

원본 자료는 개인 정보 보호를 위해 과제 종료 후 삭제되었습니다.

블로그에 업로드된 모든 내용 자료는 진행 중 테스트를 위해 만든 별도의 복제본의 편집본입니다.

최종 사용된 코드 및 시트와 다를 수 있습니다.

 

아래에 작성된 내용은 과제 진행 중 본인이 직접 진행한 부분만 포함하였습니다.

 

 

**필자는 전체 데이터 중 구글 폼을 통해 취합된 데이터에 대한 처리를 진행하였다. 그외의 경우 다른 인원들이 메일이나 카톡으로 취합하여 진행하였다. 해당 부분에 대한 포스트는 진행하지 않을 것이다.

**포스트는 본인이 처리한 과정에 대한 내용만 작성하였고 그외 프로젝트 관련 내용과 상세한 부분은 전부 생략했다.

 

당초 Pandas를 이용해 테이블 데이터를 처리하고자 했으나 어려울 것 같았다. 또한 결과 확인이 불편하고 전부 코드로 작성해야하니 엑셀 공부하는 기회라 생각하고 구글 시트에 대해 조사하였다.

 

필자는 해당 프로젝트 진행 전 구글 시트나 MOS 엑셀 그 무엇도 다뤄 본 적 없다. 이번 기회를 통해 조금이나마 사용해 볼 수 있었다.

 

https://support.google.com/a/users/answer/9282959?visit_id=01701525485419-4764771665844149291&hl=ko&rd=1#productivity

 

Google Sheets 교육 및 도움말 - Google Workspace 학습 센터

도움이 되었나요? 어떻게 하면 개선할 수 있을까요? 예아니요

support.google.com

https://support.google.com/docs/topic/9054603?hl=ko&ref_topic=1382883&sjid=11805063090920198178-AP

 

Google Sheets - Google Docs 편집기 고객센터

Google Sheets를 사용하면 모두가 함께 같은 스프레드시트에서 동시에 작업할 수 있습니다. 수식, 함수, 서식 지정 옵션을 사용하여 시간을 절약하고 자주 사용하는 스프레드시트 작업을 간소화해

support.google.com

https://support.google.com/docs/table/25273?hl=ko&ref_topic=9054531&sjid=11805063090920198178-AP

 

Google Sheets 함수 목록 - Google Docs 편집기 고객센터

논리LETLET(이름1, 값_표현식1, [이름2, …], [값_표현식2, …], 수식_표현식 )이름에 값_표현식 결과를 할당하고 수식_표현식의 결과를 반환합니다. 수식_표현식은 LET 함수의 범위에 정의된 이름으로

support.google.com

 

추가로 원하는 기능을 검색하여 몇가지 함수들을 추렸고 해당 함수들을 구글 시트 함수 목록에 검색하여 상세정보를 읽어보았다. 확인하니 IMPORTRANGE, INDIRECT, ROW, IF, LEN, RIGHT, FIND를 사용하면 충분히 구현할 수 있을 것으로 생각했다.

 

IMPORTRANGE : 다른 스프레드시트의 시트에서  데이터 불러옴

INDIRECT : 같은 스프레드시트의 다른 시트에서 불러옴

ROW : 셀의 행 번호를 반환

IF : 논리 표현식이 'TRUE'인 경우 특정 값을 반환하고 'FALSE'인 경우 다른 값을 반환

(데이터의 유무 판단 위해 사용)

LEN : 문자열 크기(셀 참조하여 데이터의 유무 판단)

RIGHT : 지정된 문자열의 마지막 문자부터 시작되는 하위 문자열을 반환

(제출 이미지 URL에서 ID 추출)

FIND : 텍스트 내에서 특정 문자열이 처음으로 발견된 위치를 반환

(제출 이미지 URL에서 ID 추출)

 

적용 결과는 다음과 같다.

[개인 정보는 전부 가리거나 삭제했습니다!]

 

시트 1. 원본 데이터의 간소화(필요데이터만 로드, 값이 긴 경우 키워드를 지정해 줄임)

 

시트 2. 사진 URL에서 id 추출 및 URL 변경

구글 폼을 통해 제출된 파일의 경우 https://drive.google.com/open?id=사진아이디 형식의 URL로 기록된다. 이때 해당 URL에 접속하면 열람 및 다운로드가 가능하나, 확인 결과 코드 등을 이용한 열람 및 다운로드가 불가한 것으로 파악되었다. 따라서 접근이 가능하도록 https://drive.google.com/uc?id=사진 아이디 형식으로 변경하였다.

id 추출
유효한 URL로의 변환

사진 가공 후 라벨링이 편리하도록 사전 작업 중에 시트로 사진 이름 리스트를 작성하려 했다. 하지만 작명 규칙 중에 0000형식으로 넘버링이 되어야하는 조건이 있었고 시트에서는 해당 형식을 구현하기 나해하여 파일 처리 과정으로 이월 시켰다.

추가로 =IF(LEN(N3)=0,"",IMAGE(N3)) 처럼 IMAGE 함수를 이용해 이미지 검토를 위한 시트를 구성하였다.

검증용 시트 예시. 개인정보 보호를 위해 모자이크 처리하였다.

다은 편은 이번 프로젝트 포스트 마지막 편으로 코랩을 이용한 이미지 처리와 라벨링, json 작성에 관한 것이다.

 
반응형