CSV 데이터 정제 입문

CSV 품질을 높이기 위한 데이터 정제의 기본과 이 도구로 할 수 있는 일을 정리합니다.

데이터 정제란

데이터 정제(Data Cleansing)는 데이터의 오류·노이즈·불일치를 찾아 수정·삭제하고, 분석이나 시스템 연동에 쓸 수 있게 만드는 작업입니다. CSV에서 가장 자주 발생하는 문제는 텍스트 값 안에 숨어 있는 보이지 않는 문자, 값 앞뒤의 불필요한 공백, 문자 인코딩 문제, 그리고 키 열의 중복 레코드입니다.

정제는 선택이 아닌 필수입니다. ID 열에 보이지 않는 문자 하나가 있으면 화면에서 동일해 보이는 두 값이 매칭에 실패합니다. 이메일 주소 뒤에 공백이 있으면 데이터베이스에 중복 계정이 생깁니다. 이런 문제들은 눈으로 발견할 수 없고, 나중에 시스템이 예상치 못하게 오작동할 때야 드러납니다.

CSV에서 발생하는 더티 데이터의 종류

보이지 않는 문자

보이지 않는 문자는 눈에 보이는 표시는 없지만 문자열 내에 자리를 차지하는 유니코드 코드 포인트입니다. 주요 예시:

이 문자들은 매칭 실패, 검색 누락, 가져오기 오류를 일으키며 전용 도구 없이는 진단이 매우 어렵습니다. CSV 단일 검사로 감지하고 영향받은 행을 정확히 확인할 수 있습니다.

앞뒤 공백(트림)

값 앞이나 뒤의 공백·탭은 대부분의 스프레드시트나 텍스트 편집기에서 눈에 보이지 않습니다. ”user@example.com””user@example.com “은 화면에서 동일하지만 서로 다른 문자열입니다. 이로 인해:

전각·반각 불일치

한국어·일본어 데이터에서는 동일한 문자가 전각(a, 1, !) 또는 반각(a, 1, !) 형식으로 나타날 수 있습니다. 데이터에 두 형식이 섞이면 — 여러 사람이 입력할 때 흔히 발생 — 같아야 할 값이 일치하지 않습니다. 가져오기 전에 코드·ID 열을 반각으로 통일하면 이런 눈에 보이지 않는 불일치를 방지할 수 있습니다.

중복 레코드

중복 행이나 키 열(ID, 이메일, 상품 코드)의 중복 값은 가져오기 시 유일 제약 위반을 일으키고 병합 시 모호한 결과를 생성합니다. 공백이나 보이지 않는 문자 차이로 생긴 “겉보기 중복” — 화면에서는 동일하지만 실제로는 다른 값 — 도 주의해야 합니다. 자세한 내용은 중복 데이터 가이드를 참고하세요.

인코딩 문제

깨진 문자는 단순한 표시 문제가 아닙니다. 문자열 비교, 패턴 매칭, 유효한 텍스트를 기대하는 모든 후속 처리를 망가뜨립니다. 다른 정제 작업보다 인코딩을 먼저 수정해야 합니다. 깨진 텍스트에 정제를 적용하면 더 나쁜 결과가 나옵니다. 인코딩 문제를 참고하세요.

더티 데이터가 생기는 이유

단계별 정제 워크플로

  1. 인코딩 먼저 수정 — 글자가 깨져 보인다면 글자 깨짐 복원으로 UTF-8로 변환합니다. 깨진 텍스트에 다른 정제를 적용하면 잘못된 결과가 나옵니다.
  2. 형식 확인형식·기본 검사를 실행해 인코딩, 구분자, 열 수, 빈 행, 헤더 중복을 확인합니다. 데이터를 건드리기 전에 구조적 문제를 먼저 수정합니다.
  3. 데이터 품질 문제 감지CSV 단일 검사를 실행합니다. 보이지 않는 문자(포함된 행 표시), 앞뒤 공백, 중복 ID, 전각·반각 불일치를 보고합니다.
  4. 수정 적용 — “문제 일괄 수정”으로 모든 감지된 수정을 원클릭으로 적용하거나 항목별로 처리합니다. 모든 수정은 브라우저 안에서만 이루어지며 서버로 업로드되지 않습니다.
  5. 다운로드 후 재확인 — 정제된 CSV를 다운로드하고 단일 검사를 다시 실행해 시스템에 업로드하기 전에 문제가 0개임을 확인합니다.

전·후 예시

웹 페이지에서 일부 값을 복사·붙여넣기한 사용자 ID 열:

user_id,name
U001,홍길동
U002​,김철수
U003 ,이영희

2행에는 “U002” 뒤에 제로 너비 공백, 3행에는 “U003” 뒤에 일반 공백이 있습니다. 화면에서는 보이지 않습니다. 단일 검사를 실행하고 수정을 적용하면:

user_id,name
U001,홍길동
U002,김철수
U003,이영희

세 ID 모두 데이터베이스 조회나 JOIN 작업에서 올바르게 매칭되는 깨끗한 문자열이 됩니다.

정제하지 말아야 할 때

감지된 모든 “문제”가 실제로 오류인 것은 아닙니다. 일괄 수정 적용 전에 검토하세요:

도구로 열기

홈으로 · CSV 단일 검사 사용