2회차 · CH08 · 14:50–15:40

내 데이터 수집·전처리

데이터를 손에 쥐고, 분석할 수 있는 모양으로 다듬습니다. 코드를 외울 필요는 없습니다. 무엇을 확인해야 하는지만 알면, 실행은 Claude Code에 말로 시킵니다.


어디서 어떻게 가져올까

소스가져오는 방법Claude Code에 이렇게
공공데이터 파일사이트에서 CSV·엑셀 내려받기 → 작업 폴더에 넣기"raw 폴더에 넣은 (파일명)을 읽어줘"
웹에 공개된 CSV파일 주소(URL)만 알면 됨"(URL) 파일을 내려받아 raw 폴더에 저장해줘"
오픈 API인증키 신청이 필요한 경우가 많음"(API 문서 주소)를 보고 (조건)으로 데이터를 받아줘"
내 파일업무 엑셀, 앱에서 내보낸 CSV"raw 폴더의 (파일명) 시트 목록부터 보여줘"

💡 오늘은 파일 다운로드가 가장 안전합니다. 오픈 API는 인증키 신청·승인에 시간이 걸릴 수 있습니다. API로만 받을 수 있는 데이터라면, 같은 내용을 파일로 제공하는지 먼저 찾아봅니다.

원본은 건드리지 않는다

받은 원본은 raw 폴더에 그대로 두고, 손질한 결과는 새 파일로 저장합니다. 중간에 잘못돼도 원본에서 다시 시작할 수 있습니다.

my-analysis/
├── raw/          ← 받은 원본 그대로
└── clean.csv     ← 손질한 결과

받자마자 확인할 것

"raw 폴더의 파일을 열어서 행·열 수, 열마다 자료형, 결측치 수, 중복 행 수를 표로 보여줘. 한글이 깨지면 인코딩을 바꿔서 다시 읽어줘."

이런 게 보이면원인Claude Code에 할 말
한글이 ÇѱÛ처럼 깨짐인코딩 차이(공공데이터 CSV는 CP949인 경우가 많음)"CP949로 다시 읽어줘"
숫자가 글자로 잡힘1,234의 쉼표, "원"·"%" 같은 단위 글자"쉼표와 단위를 빼고 숫자로 바꿔줘"
날짜가 글자로 잡힘2026.09.29, 20260929 같은 형식"날짜 열을 날짜 형식으로 바꿔줘"
빈칸이 많음수집이 안 된 값, 해당 없음"빈칸이 어느 열에 몇 개인지, 빼도 되는지 판단해줘"
같은 줄이 여러 번중복 수집"완전히 같은 행은 하나만 남겨줘"
숫자 크기가 이상함단위(매출액 135748398910 = 1,357억 원처럼)"이 열의 단위가 뭔지 원본 설명을 확인해줘"

분석할 모양으로 다듬기

"분석에 쓸 열만 남기고, 숫자·날짜 형식을 맞추고, 결측치와 중복을 정리해서 clean.csv로 저장해줘. 무엇을 바꿨는지, 몇 행이 빠졌는지 목록으로 알려줘."

"무엇을 바꿨는지 목록으로"가 중요합니다. 나중에 리포트의 "데이터 설명" 칸에 그대로 들어갑니다.

스킬로 하기 — 2-collect는 위의 확인과 다듬기를 한 번에 합니다. 정리한 파일은 data/clean/에, 무엇을 바꿨는지는 preprocessing_report.html에 남깁니다. 1회차에서 본 ".xls인데 실은 HTML"이나 "매출 0 = 기록 없음" 같은 경우도 여기서 걸러집니다.

"/datapopcorn-analysis:2-collect raw 폴더의 (파일 이름)을 분석할 수 있게 정리해줘. hypothesis.md의 가설을 확인하는 데 필요한 열 위주로."

💡 데이터를 끝내 못 구했다면: 연습 데이터(kobis_boxoffice_top500.csv)를 raw에 넣고 같은 순서로 진행합니다. 여유가 있으면 1회차 CH03처럼 KOBIS 사이트에서 엑셀을 직접 받아 raw에 넣고 연습 데이터와 비교해 봅니다.

"raw 폴더에 있는 KOBIS 역대 박스오피스 엑셀(내가 직접 받은 파일)을 읽어서 kobis_boxoffice_top500.csv와 영화명 기준으로 비교해줘. 순위나 관객 수가 달라진 영화가 있으면 표로 보여줘."

CH08 완료 체크
이것만 기억하세요

수집은 코드를 외우는 일이 아니라 "무엇을 확인할지" 아는 일입니다. 원본은 그대로 두고, 바꾼 내용은 기록으로 남깁니다.

다음
09. EDA·시각화로 인사이트 찾기
이어보기 →