CSV/JSON 덤프를 SQLite에 로드하여 분석
언제 쓸까: 누군가 귀하에게 20만 행이 포함된 CSV를 보냈으며 '어떤 세그먼트가 가장 전환율이 높습니까?'라는 질문을 보냈습니다. — 스프레드시트에는 너무 크고 실제 DB에는 너무 작습니다.
사전 조건
- 디스크의 소스 파일 — 작업 폴더에 .csv 또는 .json으로 저장
- 빈 SQLite 파일 경로 — /tmp/analytic.db와 같은 위치를 선택하십시오. MCP가 그것을 생성합니다
흐름
-
테이블 생성 및 로드/tmp/analytics.db에 /data/signups.csv의 열과 일치하는
signups테이블을 만듭니다. 모든 행을 로드합니다. 행 수를 알려주세요.✓ 복사됨→ 테이블이 생성되었으며 행 개수가 파일과 일치합니다. -
스키마 탐색어떤 열이 존재합니까? 각각에 대해 값 분포는 어떻게 됩니까(범주형의 경우 상위 5개 고유 값, 숫자의 경우 최소/최대/평균)?✓ 복사됨→ 열별 프로필
-
실제 질문에 답해 보세요signup_source별로 그룹화합니다. 각각에 대해 총 가입 수, 전환율(complete_onboarding=true / 총 가입 수)을 계산합니다. 전환율을 기준으로 정렬합니다.✓ 복사됨→ SQL이 표시된 의사결정 등급 테이블
결과: 5분 안에 답변을 방어할 수 있습니다. .db 파일을 사용하면 새로운 질문이 나올 때 다시 쿼리할 수 있습니다.
함정
- CSV 열 자동 입력이 잘못되었습니다(숫자는 TEXT로 표시됨). — 로드 후
PRAGMA table_info(signups)및 CAST를 실행하거나 필요한 경우 명시적 유형으로 열을 다시 만듭니다. - 날짜 문자열이 TEXT로 올바르게 정렬/비교되지 않습니다. — 날짜를 ISO 8601(YYYY-MM-DDTHH:MM:SSZ)로 저장하므로 사전순 = 연대순입니다. 또는 수학에
julianday()를 사용하세요.