CSV·JSON·표 데이터 구조 이해하기
4강. CSV·JSON·표 데이터 구조 이해하기
1. 이번 강의에서 해결할 문제
CSV의 모든 값은 겉으로 문자열처럼 보일 수 있고 한 행의 의미가 불명확하면 중복과 집계 단위가 뒤섞입니다. 데이터 구조와 열 의미를 먼저 정의해야 합니다.
2. 학습 목표
3. 핵심 개념
CSV는 행과 열의 표를 교환하기 좋고 JSON은 중첩 구조와 메타데이터 표현에 유리합니다. 이 프로젝트의 기본 키는 session_id이며 player_id는 가상 식별자입니다. win은 0/1, match_date는 ISO 날짜로 정하고 결측·중복·이상치 학습용 행을 의도적으로 포함합니다.
4. 단계별 실습
1. 예제 파일 작성
실행 환경: 코드 편집기
실행 위치: C:\dev\game-data-lab
실행 전 확인: 기존 파일이 있으면 내용을 덮어쓰지 말고 Git diff로 이번 강의 변경 범위를 확인합니다. 실제 개인정보·API Key·토큰은 사용하지 않습니다.
대상 파일: data/raw/game_sessions.csv
session_id,player_id,game_mode,play_minutes,score,win,character,match_date
S001,P001,ranked,18,1280,1,Mage,2026-01-03
S002,P002,ranked,26,970,0,Knight,2026-01-03
S003,P003,casual,14,820,1,Rogue,2026-01-04
S004,P001,casual,21,910,0,Mage,2026-01-05
S005,P004,ranked,32,1410,1,Knight,2026-01-05
S006,P005,casual,17,,0,Rogue,2026-01-06
S007,P006,ranked,44,1530,1,Mage,2026-01-07
S008,P002,casual,11,760,0,Knight,2026-01-07
S009,P007,ranked,29,1190,1,Rogue,2026-01-08
S010,P008,casual,23,880,1,Mage,2026-01-08
S011,P009,ranked,360,1680,1,Knight,2026-01-09
S004,P001,casual,21,910,0,Mage,2026-01-05
2. 실행과 결과 확인
실행 환경: Windows PowerShell
실행 위치: C:\dev\game-data-lab
실행 전 확인: Python 코드는 프로젝트의 .venv 인터프리터를 사용하고 입력 파일 경로가 존재하는지 확인합니다.
대상: data/raw/game_sessions.csv과 이 강의가 만드는 출력
Set-Location C:\dev\game-data-lab
Get-Content .\data\raw\game_sessions.csv -TotalCount 5
Import-Csv .\data\raw\game_sessions.csv | Measure-Object
예상 결과: 헤더와 첫 네 행이 보이고 PowerShell은 헤더를 제외한 12개 데이터 행을 셉니다.
5. 분석 또는 모델이 동작하는 이유
헤더는 열 이름을 제공하고 각 줄은 같은 스키마의 관찰 한 건입니다. 데이터 사전에는 열 이름, 의미, 예상 타입, 허용 범위, 결측 허용 여부를 기록해야 이후 정제 판단이 일관됩니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
CSV·JSON·표 데이터 구조 이해하기 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.