CSV 대량 데이터 처리
백만 행 데이터 안 두려워 —— OpenClaw가 직접 Python으로 처리해 줄게
CSV 처리의 그 많은 고역
백만 행 데이터, Excel은 직접 누워 버려
Excel이 50만 행 열면 도는 건 둥글고, 100만 행은 직접 꺼져. 겨우 열었어도, 스크롤 한 번 하면 5초 끊김.
손수 데이터 청소는 더 악몽: 날짜 포맷이 3가지, 휴대폰 번호는 어떤 건 지역번호 있고 어떤 건 없고, 중복행 지웠는데 또 나타나고, 빈 값은 0을 넣어야 할지 삭제해야 할지... 한 파일 청소에 1주, 끝나고 보니 몇 열은 안 했어.
OpenClaw: 로컬 Python 실행, 데이터는 너 컴퓨터에만 있어
CSV 파일을 OpenClaw한테 주면, 로컬에서 직접 Python 스크립트 띄워 줘, pandas, polars 맘대로 써. 200만 행? 몇 초면 읽어.
핵심은:너의 데이터 한 바이트도 어떤 서버에 안 올라가. 회사 판매 데이터, 사용자 개인 데이터, 재무 보고서 —— 걱정 안 하고 대담하게 처리할 수 있어, 데이터 보안 이 부분에서 긴장 풀어도 돼.
3가지 데이터 처리 Prompt, 복사해서 써
집계 분석부터 데이터 청소부터 다중 표 병합까지, 필요한 거 가져가.
백만 행 판매 데이터: 월별 집계 + Top10
황금 지침
~/data/sales_2025.csv 읽기 (약 200만 행), 아래 처리해 줘:
1. 월별 총 판매액 집계, 월도 추세 출력
2. 판매액 Top 10 상품 찾기, 상품명 및 총액 나열
3. 지역별 분류, 각 지역의 주문 수하고 평균 객단가 통계
4. 결과를 summary.csv로 내보내기, ~/data/output/ 저장
pandas로 처리, 메모리 최적화 주의 (dtype 지정, 필요하면 청크 읽기).
이건 데이터 분석 제일 흔한 상황. 200만 행을 로컬 pandas로 돌려도 몇 초, 업로드 시간하고 파일 크기 제한 걱정할 필요 없어. Claude Opus 추천, pandas 코드가 더 안정적이고, 엣지 케이스 처리가 더 철저.
데이터 청소 일괄: 중복 제거 + 포맷 통일 + 빈 값 처리
초보자 친화적
~/data/raw_customers.csv 청소:
1. 완전히 중복된 행 제거
2. 날짜 열을 YYYY-MM-DD로 통일 (원본에는 2025/01/15, 01-15-2025, 2025년1월15일 등 여러 형식)
3. 휴대폰 번호 11자리 순숫자로 통일 (지역번호 제거, 공백, 대시 제거)
4. 빈 값 처리: 숫자 열은 중앙값으로, 분류 열은 「미지정」으로
5. 청소 보고서 출력: 몇 행 처리했고, 각 열 처리 상황
청소 후 cleaned_customers.csv로 저장.
데이터 청소는 보면 간단해 보이는데, 손수 하면 빠뜨리기 쉬워. AI한테 스크립트 짜달라고 해서 한 번 돌려 봐, Excel에서 열 하나씩 수정하는 것보다 100배 빠르고, 오류도 적어.
다중 파일 병합: 5개 CSV 연관해서 넓은 표 생성
고급 팁
~/data/ 폴더에 5개 CSV 파일:
- users.csv (사용자ID, 이름, 가입 시간, 지역)
- orders.csv (주문ID, 사용자ID, 상품ID, 금액, 주문 시간)
- products.csv (상품ID, 분류, 브랜드, 단가)
- reviews.csv (사용자ID, 상품ID, 평점, 평가 시간)
- returns.csv (주문ID, 반품 사유, 반품 시간)
도와 줄 거:
1. 사용자ID하고 상품ID로 이 5개 표 연관, 넓은 표 생성
2. 1대 다 관계 처리 (사용자 1명이 주문 여럿)
3. 유도 필드 추가: 사용자 총 소비, 구매 횟수, 평균 평점, 반품율
4. merged_wide_table.csv로 내보내기
5. 데이터 질 보고서 출력: 연관 매칭율, 미매칭 기록 수
다중 표 병합은 데이터 분석의 기본 기능인데, 코드 짤 때 JOIN 타입에서 실수하기 쉬워. AI가 표 구조 보고 자동으로 left join / inner join 선택, 게다가 1대 다가 데이터 폭증을 일으킬 수 있다고 경고.
대량 데이터 처리 설정 제안
큰 파일 처리 전에 이 설정들을 조정하면 더 부드러워.
OpenClaw 대량 데이터 처리 설정 (.openclaw.yml)
# 대량 데이터 처리 권장 설정
sandbox:
memory_limit: 8GB # 큰 CSV는 더 많은 메모리 필요
timeout: 600 # 복잡한 처리는 몇 분 걸릴 수 있음
allowed_paths:
- ~/data/ # 읽고 쓸 수 있는 데이터 폴더
- ~/output/ # 출력 폴더
python:
packages: # 미리 설치한 데이터 처리 라이브러리
- pandas>=2.0
- polars # pandas보다 10배 빠른 대체품
- openpyxl # Excel 읽고 쓰기
- pyarrow # parquet 포맷 지원
model: claude-opus-4 # 데이터 처리는 Opus 추천, 코드 질 더 높음
CSV 처리: OpenClaw vs ChatGPT Code Interpreter
둘 다 Python 돌릴 수 있지만, 차이는 꽤 커.
OpenClaw
- 로컬 실행, 파일 크기 제한 없음, 10GB CSV도 문제 없음
- 데이터 미전송, 개인정보 보안 보장
- 로컬 데이터베이스 직접 읽기, 내부 네트워크 자원 접근
- 처리 결과 로컬에 저장, 세션 끝나도 안 사라짐
- 아무 Python 라이브러리나 설치 가능, 제한 없음
VS
ChatGPT Code Interpreter
- 파일 업로드 최대 약 500MB, 대량 데이터 처리 불가
- 데이터가 OpenAI 서버로 전송, 회사 데이터는 못 써
- 샌드박스 환경 제한, 많은 라이브러리 설치 못 함
- 세션 끝나면 파일 없어짐, 빨리 다운로드해야 함
- 네트워크 느릴 때 업로드 오래 걸려, 경험 별로
실제 시나리오
전자상거래 운영: 연도 데이터 복기
연말 전체 데이터 복기를 하려고 하는데, 12개월 판매 데이터가 십여 개 CSV에 흩어져 있고, 총 500만 행이 넘어. 상급자는 모레 보고서를 요구해.
OpenClaw 방법
한 Prompt로 끝내: 12개월 데이터 병합, 분류/지역/월별 다중 집계, 추세 그래프 및 대비 표 생성, 완전한 분석 보고서 출력. 시작부터 결과까지 20분도 안 돼. 데이터는 로컬, 재무 민감 정보 유출 걱정 없어.
손수 방법
Excel에서 하나씩 열어봐, 몇 개는 열 때부터 끝남. VLOOKUP으로 연관, 공식 잘못 쓰면 다시 디버깅. 데이터 병합만 2일 걸려, 분석은 아직 시작도 안 했어.
몇 가지 실용 팁
초대형 CSV (몇 G 이상) 처리할 때, Prompt에 한 줄 「pandas 대신 polars 쓰기」, 속도가 5~10배 빨라. polars의 메모리 사용도 더 적어.
데이터가 어떻게 생겼는지 몰라? AI한테 「앞 20행 읽고, 데이터 개요 줘」라고 해, 열명, 데이터 타입, 빈 값 상황 봐, 처리 Prompt를 정확히 쓸 수 있고 첫 시도 성공율 훨씬 높음.
중문이 들어간 CSV 처리할 때, Prompt에 인코딩 형식을 명시해 (UTF-8 / GBK). 안 그러면 읽힐 때 깨질 수 있음, 대화 낭비.