🏆40

챌린지: ETL 데이터 정제기

Day 4: 조건문

학습 목표

실무 수준의 데이터 정제 로직을 구현한다 다양한 조건문 패턴을 종합 활용한다

요구사항

미션: 더러운 데이터를 깨끗하게 정제하는 ETL 함수 구현

입력 데이터 (실제 수집 데이터 예시)

에디터 로딩 중...

raw_data = [

에디터 로딩 중...
에디터 로딩 중...
에디터 로딩 중...
에디터 로딩 중...
에디터 로딩 중...

]

에디터 로딩 중...

정제 규칙

  1. name: 앞뒤 공백 제거, 빈 문자열이면 "익명"
  1. age: 문자열을 정수로 변환, None이면 0, 음수/150초과면 0
  1. email: 소문자 변환, @없거나 None이면 "unknown@unknown.com"
  1. salary: 콤마/원 제거 후 정수 변환, 빈 문자열/None이면 0

출력 형식

에디터 로딩 중...

{"name": "김철수", "age": 25, "email": "kim@example.com", "salary": 5000000, "valid": True}

에디터 로딩 중...

valid 판정 기준

  • name이 "익명"이 아님
  • age가 18 이상 65 이하
  • salary가 0보다 큼
  • 위 조건을 모두 만족하면 valid: True
평가 기준
  • 모든 정제 규칙이 올바르게 적용됨
  • valid 판정이 정확함
  • 코드 가독성 (변수명, 주석)
  • 예외 상황 처리
보너스
  • match 문 활용 (Python 3.10+)
  • 정제 실패 사유를 errors 필드에 기록
  • 정제 통계 출력 (전체 N건 중 유효 M건)