반복되는 엑셀 취합·정리, AI에 자동화 시켜봤다 — 약 13,000행이 0.04초 (2026년 6월 실측)
혹시 월말마다 매출 파일 여러 개를 하나로 합치다가, 중복을 못 걸러 숫자가 틀어지거나 정렬하다 한 줄을 통째로 날려본 적 있으시죠? 안 겪어보셨다면 운이 좋은 거예요. 저는 이걸 매달 반복하다 보니 시간보다 '실수로 숫자 틀리는 게' 더 무서웠습니다. 인건비 한 푼이 아까운 1인 기업가한테 이런 단순 반복은 그냥 돈이 새는 구멍이거든요. 그래서 사람을 붙잡아두는 대신, 군말 없이 굴릴 디지털 일꾼 하나를 들이기로 했습니다.
그래서 이번엔 사람이 끙끙대는 대신, AI한테 자동화 스크립트를 시켜놓고 그게 실제로 얼마나 빠른지 직접 재봤습니다. 결론부터: 손으로 10분 넘게 걸리던 일을 AI가 짠 스크립트가 약 0.04초에 끝냈고, 결과도 따로 검증해보니 정확했어요. 다만 진짜 이득은 그 0.04초가 아니라 다른 데 있었습니다.
뭘, 어떻게 시켰나
"자동화하면 빠르다"는 말은 재볼 수가 없으니, 일부터 하나 딱 정했습니다. 월급 받는 사람 시간을 야금야금 갉아먹는, 흔한 사무 반복업무로요. 사람한테 시키면 한나절, 일꾼(스크립트)한테 떠넘기면 눈 깜짝할 새인 그런 일 말이죠.
- 작업: 월별 매출 CSV 12개 파일(
date, item, amount컬럼, 합쳐서 약 12,991행)을 → ①하나로 합치고 ②완전히 같은 중복 행 제거 ③날짜순 정렬 ④월별 합계 출력. - AI에게 시킨다: 위 작업을 그대로 설명하고 "파이썬 스크립트로 짜줘"라고 Gemini에게 요청했습니다. AI가 코드를 써준 시간 = 약 34초(한 번).
- 그 스크립트를 실데이터에 돌려 잰다: AI가 짠 스크립트를 12개 CSV에 실행하고 처리 시간을 측정(5회). 측정 시점 2026년 6월.
- 정확성은 따로 검증한다: AI 말을 믿지 않고, 합쳐진 결과가 진짜 맞는지(중복이 제대로 빠졌는지·정렬됐는지·합계가 맞는지)를 별도 코드로 독립 대조했습니다.
※ 이건 '정형화된 반복 작업' 한 가지 사례입니다. 판단이 필요하거나 형식이 들쭉날쭉한 업무는 또 다르니, "AI가 모든 사무를 자동화한다"로 일반화할 생각은 없어요.
AI가 짠 스크립트 (Gemini 실제 출력 일부)
표준 라이브러리(csv, os, collections)만으로 짜왔습니다. 아래는 받은 코드에서 전반부를 그대로 옮긴 것입니다(뒷부분의 merged.csv 저장·월별 합계 출력은 지면상 생략). 눈에 띈 건 시키지도 않은 방어 코드를 알아서 넣었다는 점이에요 — 빈 CSV·파일 부재·컬럼 부재를 각각 따로 막아 놨습니다.
import csv
import os
from collections import defaultdict
def process_sales_data():
base_dir = os.path.join("corpus", "auto")
header = None
# 집합(set)을 사용하여 ① 완전히 동일한 중복 행 제거
unique_rows = set()
# 1월부터 12월까지 파일 읽기
for month in range(1, 13):
file_name = f"sales_2026-{month:02d}.csv"
file_path = os.path.join(base_dir, file_name)
# 파일이 존재하는 경우에만 처리
if not os.path.exists(file_path):
continue
with open(file_path, mode='r', encoding='utf-8') as f:
reader = csv.reader(f)
try:
current_header = tuple(next(reader))
if header is None:
header = current_header
except StopIteration:
continue # 빈 파일 건너뛰기
for row in reader:
if row: # 빈 행 무시
unique_rows.add(tuple(row))
if header is None:
print("처리할 파일이나 데이터가 없습니다.")
return
# 헤더에서 date와 amount의 인덱스 확인
try:
date_idx = header.index('date')
amount_idx = header.index('amount')
except ValueError as e:
print(f"csv 파일에 필수 컬럼이 존재하지 않습니다: {e}")
return
# ② date(YYYY-MM-DD) 기준 오름차순 정렬
sorted_data = sorted(list(unique_rows), key=lambda x: x[date_idx])
주석까지 AI가 붙인 그대로입니다. 다만 방어 코드가 있다고 안심할 건 아니에요 — 금액 칸에 1,200처럼 쉼표가 박혀 있거나 날짜가 2026-1-1처럼 한 자리로 적혀 있으면 이 코드는 그 행을 조용히 건너뛰거나 잘못 묶습니다. 우리 데이터는 형식이 일정해서 안 걸렸을 뿐이고요.
자동화에 익숙하지 않아도 됩니다. "이런 파일들을 이렇게 정리해줘"라고 말로 시키면 AI가 코드로 옮겨주니까요. 코드 한 줄 못 짜도, 타이핑은 군말 없이 하는 인턴 하나 들인 셈이죠. 물론 이 인턴이 가끔 엉뚱한 코드를 자신만만하게 내미는 게 함정인데, 그건 뒤에서 다룹니다.
결과: 약 13,000행이 0.04초
| 항목 | 값 |
|---|---|
| 입력 | CSV 12개 파일 · 총 12,991행 |
| 중복 제거 | 957행 제거 → 12,034행 (완전히 같은 행 기준) |
| 전체 실행 시간(실측) | 중앙값 0.036초 · 5회 범위 0.033~0.039초 (파이썬 구동 포함 — 소수 둘째 자리로 줄이면 약 0.04초) |
| 순수 데이터 처리 | 13.3밀리초 (기동시간 제외) |
| 정확성 별도 대조 | 중복제거 ✓ · 날짜정렬 ✓ · 월별합계 ✓ |
약 13,000행을 합치고, 중복 957개를 골라내고, 날짜순으로 정렬하고, 12개월 합계까지 뽑는 데 스크립트를 켜서 끝날 때까지 약 0.04초(이 시간의 대부분은 파이썬이 켜지는 시간이고, 순수 계산은 13.3밀리초였어요). 5회 실측값은 0.033·0.036·0.036·0.037·0.039초로, 가장 느린 회차까지 넣어도 0.04초를 안 넘겼습니다. 그리고 제가 따로 짠 검증 코드로 결과를 대조했더니 중복 제거·정렬·월별 합계가 전부 정확했습니다. 사람을 밤새 야근시켜 눈으로 13,000행을 맞췄다면 이만한 정확도를 절대 못 믿었을 거예요. 일꾼은 빠른데 실수까지 안 했다는 게 핵심입니다. (참고로 여기서 '중복'은 모든 칸이 완전히 똑같은 행을 말합니다. 띄어쓰기·표기가 다른 '사실상 중복'은 또 다른 문제예요.)
진짜 이득은 '시간'이 아니라 '재사용'
여기서 0.04초 자체에 너무 흥분하면 안 됩니다. 같은 일을 엑셀로 능숙하게 한다면 — 12개 파일 열어 합치고, '중복 제거' 기능 쓰고, 정렬하고, 피벗으로 월별 합계까지 — 빨라야 10분대입니다. (이 수동 시간은 제가 실측한 게 아니라 보수적으로 잡은 추정치예요. 파일 열고 저장하고 실수 고치는 시간까지 넣으면 실제론 더 걸리기 쉽습니다. 실측한 건 자동화 쪽뿐입니다.)
10분과 0.04초. 한 번이면 "그냥 손으로 하지" 싶을 수도 있어요. 진짜 차이는 다음 달에 벌어집니다. 손으로 하면 다음 달도, 그다음 달도 매번 10분씩 들고 실수 위험을 매번 다시 떠안습니다. AI가 짜준 스크립트는 그해 새 월 파일을 같은 폴더에 넣고 다시 돌리면 그만이에요(연도가 바뀌면 한 줄만 손보면 되고요). 한 번 시켜둔 일꾼이 매달 공짜로 야근하는 셈이죠. 가성비를 따진다면, 일회성 작업보다 '매달 반복되는 일'일수록 자동화의 본전이 빨리 뽑힙니다. (다만 '다음 달도 같은 속도'는 한 달치만 실측한 제 논리적 추론이지, 12번 다 돌려본 결과는 아닙니다.)
시키기 전에 알아야 할 것
장점만 늘어놓으면 그것도 광고죠. 솔직한 한계도 짚습니다.
- AI가 짠 코드가 항상 맞는 건 아닙니다. 이번엔 검증을 통과했지만, AI는 멀쩡해 보이는 틀린 코드도 잘 씁니다. 결과를 사람이 반드시 검증해야 해요(저도 별도 코드로 대조했습니다). 검증 없이 숫자만 받아 쓰면 그게 더 위험합니다.
- 자동화가 어울리는 일이 따로 있습니다. 형식이 일정한 '정형 반복 작업'(파일 합치기·이름 정리·표 가공)은 AI 자동화의 단골입니다. 반면 매번 판단이 끼거나 형식이 제각각인 일은 스크립트 한 방으로 안 끝나요.
- 민감한 데이터는 조심. 회사 매출·고객 정보 같은 자료를 외부 AI에 통째로 붙여넣는 건 위험합니다. 이번처럼 '데이터'가 아니라 '작업 설명'만 주고 코드를 받아 내 PC에서 돌리면, 데이터는 밖으로 안 나갑니다.
매달 반복되는 정형 업무가 있다면 한 번쯤 AI에 "이거 자동화 스크립트로 짜줘"라고 시켜볼 값은 충분합니다. 단, 받은 코드는 꼭 검증하고요. (AI 도구를 같은 방식으로 직접 돌려 측정한 자매편: 무료 AI 이미지 업스케일러, 화질 진짜 좋아질까 — AI가 내놓은 결과는 늘 검증이 필요하다는 결론은 여기서도 같았어요.)
이 글은 cinevyze 운영자가 해당 작업을 직접 테스트하고(AI에 스크립트를 의뢰·실행·시간 측정·결과를 별도 코드로 독립 검증) 정리·편집했습니다. 측정 방법과 수치 확인, 판단은 모두 사람이 했고, 글을 다듬는 일부 과정에 AI 도구의 도움을 받았습니다. 자동화 시간은 실측, 수동 시간은 추정이며, 결과는 2026년 6월 측정 시점·해당 도구 기준입니다.
댓글
댓글 쓰기