구글시트와 한글파일의 연계를 위한 준비
< 목차 >
1. 구글폼 배포와 구글시트 생성
2. 한글파일과 엑셀파일의 셀주소 매칭
3. 한글파일 자동화의 개략적인 흐름
구글폼으로 구글시트 생성
구글폼을 통해 자료를 입력받으면 아래와 같은 구글시트가 생성할 수 있다.
입력된 데이터는 임의로 입력했기 때문에 내용보다는 어떤 식을 입력되는지를 확인하기 바란다.
각 폼의 입력사항이 행방향(왼쪽에서 오른쪽)으로 생성되고, 학생들의 응답내용은 열방향(위에서 아래)로 적층된다. 이 방식은 가장 기본적인 DB구성 방식이라고 보면 된다.
데이터 정리 - 입력내용 확인 및 중복 데이터 정리
입력 받은 내용을 확인하면서 가장 먼저 할 일은 중복데이터를 정리하는 것이다. 일부 학생들이 입력사항을 수정하기 위해서 내용을 다시 입력하는 경우가 있기 때문에 타임스탬프의 시간기록을 보면서 최종적으로 입력된 내용을 확인하고 불필요한 정보는 삭제한다.
또 학번을 오름차순으로 정렬하고, 미입력한 학생은 없는지 확인한다. 한 번에 모든 학생이 자료를 입력하는 경우는 거의 없기 때문에 개별적으로 연락해서 누락된 학생은 없는지 확인해야 한다. 그리고 학번을 오름차순으로 정리해 두면 양식파일을 통해 자료를 입력하면서 번호순으로 파일이 생성되기 때문에 오름차순으로 해두면 나중에 다시 생성된 자료를 다시 정렬하는 일을 피할 수 있다.
다음으로 입력한 내용을 하나씩 확인하면서 내용의 충실성이 떨어지거나 자료가 누락된 것들이 있다면 다시 입력하도록 연락해야 한다.
엑셀파일 저장 및 데이터 가공
구글폼을 통해 모든 자료를 입력받고 데이터를 정리했다면 엑셀파일로 저장한다.
구글시트에서 내용을 그대로 불러와서 사용할 수도 있지만 처리과정의 속도를 높이고, 데이터를 가공하기 위해서는 엑셀파일 형태로 로컬컴퓨터에 다운 받아서 사용하는 것이 더 간편하다.
다운받은 엑셀 파일을 실행하고 먼저 A열 타임스태프와 B열 개인정보 수집 이용 내용을 삭제만 하면 된다.
한글파일(양식)과 엑셀파일의 셀주소 매칭
한글파일(양식)에서 엑셀파일에서 읽어온 자료를 입력하려면 파이썬에서 pandas로 불러와서 데이터프레임을 만든다.
데이터프레임의 각 행을 순회하면서 한글파일(양식)의 지정된 위치에 값을 입력해주면 모든 작업이 끝난다.
이때 한글파일(양식)의 캐럿(커서)가 문서의 맨 처음부터 아래로 내려가면서 순차적으로 데이터를 입력하기 때문에 이 방향에 맞게 데이터프레임에서 값을 가져와서 뿌려주면 된다.
이를 위해서 엑셀에서 불러올 값과 한글파일(양식)의 필드를 어떻게 묶을지 확인해야 한다.
엑셀파일 | 한글파일(양식) | |||
열 | 항목 | 필드이름 | 세부항목 | 항목 |
A | 학번 | 1_B1 | 학번 | 인적사항 |
B | 성명 | 1_D1 | 성명 | |
C | 핸드폰 | 1_F1 | 핸드폰 | |
1_B3 | 관계 | |||
D | 2-1. 부 성명 | 1_C3 | 성명 | |
E | 2-2. 부 연락처 | 1_D3 | 연락처 | |
1_B4 | 관계 | |||
F | 2-3. 모 성명 | 1_C4 | 성명 | |
G | 2-4. 모 연락처 | 1_D4 | 연락처 | |
H | 2-5. 동거 여부 | 1_E3, 1_E4 | 동거여부 | |
기타 | ||||
I | 3. 대입 특별 전형 해당 사항 | 1_B6, 1_C6, 1_D6, 1_E6, 1_F6, 1_G6, | 대입 특별전형 해당사항 | |
J | 4. 건강 상태 및 특이 사항 | 1_B7 | 건강상태 특이사항 | |
K | 진로 희망 분야 | 3_A2 | 진로희망 분야 | 진로희망 |
L | 1순위 | 3_C2 | 1순위 | |
M | 2순위 | 3_E2 | 2순위 | |
N | 3순위 | 3_C3 | 3순위 | |
O | 4순위 | 3_E3 | 4순위 | |
P | 5순위 | 3_C4 | 5순위 | |
Q | 6순위 | 3_E4 | 6순위 | |
R | 학생회, 학급 임원 활동 실적 | 4_C1 | 학생회, 학급 임원활동 실적 | 학업계획 |
S | 희망 학급 역할 | 4_C2 | 희망 학급 역할 | |
T | 기숙사 | 4_C3, 4_F3, 4_I3 | 기숙사 | |
U | 학원 수강 과목 [월] | 4_C5 | 과목 | |
V | 학원 수강 과목 [화] | 4_D5 | ||
W | 학원 수강 과목 [수] | 4_E5 | ||
X | 학원 수강 과목 [목] | 4_G5 | ||
Y | 학원 수강 과목 [금] | 4_H5 | ||
Z | 학원 수강 과목 [토] | 4_J5 | ||
AA | 학원 수강 시간 [월] | 4_C6 | 시간 | |
AB | 학원 수강 시간 [화] | 4_D6 | ||
AC | 학원 수강 시간 [수] | 4_E6 | ||
AD | 학원 수강 시간 [목] | 4_G6 | ||
AE | 학원 수강 시간 [금] | 4_H6 | ||
AF | 학원 수강 시간 [토] | 4_J6 | ||
AG | 기타 사항 | 5_A1 | 기타사항 |
대략적으로 엑셀 각 셀에 입력된 내용과 한글파일의 필드의 관계를 파악했다면, 파이썬을 통해 자동화를 시작할 수 있다.
각 필드의 앞에는 한글파일 양식의 항목번호가 붙어 있고, 뒤에는 셀주소가 붙어 있기 때문에 데이터를 구분하여 입력하기가 쉽다.
'교무업무자동화' 카테고리의 다른 글
[심플, 깔끔] 학년초 학생 기초생활조사(구글폼>>한글양식 자동 생성 프로그램) (2) | 2024.02.26 |
---|---|
[구글폼 자동화] 학년 초 기초생활조사5 #한글파일 자동화 (0) | 2024.02.22 |
[구글폼 자동화] 학년초 학생 기초생활조사3 #구글폼 생성 (0) | 2024.01.31 |
[구글폼 자동화] 학년초 학생 기초생활 조사2 #필드이름 (1) | 2024.01.30 |
[구글폼 자동화] 학년초 학생 기초생활조사1 #한글양식 (2) | 2024.01.25 |