CSV 파일 검증 방법
CSV 검증 엔진과 각 파일에 수행하는 검사의 기술 개요.
인코딩 감지
파일의 바이트 패턴을 분석하여 문자 인코딩을 감지합니다. UTF-8, UTF-8 with BOM, Latin-1(ISO-8859-1), Windows-1252 등 일반적인 인코딩을 모두 감지합니다. BOM(바이트 순서 표시)이 있으면 식별하여 보고합니다. 비UTF-8 파일은 분석 전에 변환됩니다.
자동 구분자 감지
엔진이 파일의 처음 몇 줄을 샘플링하여 일반적인 구분자(쉼표, 세미콜론, 탭, 파이프)의 발생 횟수를 계산합니다. 가장 일관된 발생 횟수를 가진 구분자가 선택됩니다. 유럽 CSV 내보내기에서 세미콜론이 일반적인 지역 차이도 처리합니다.
구조 검증
각 행이 헤더 행과 동일한 열 수를 가지는지 확인합니다. 열이 누락되거나 추가된 행은 표시됩니다. 빈 행, 후행 구분자, 올바른 줄 바꿈도 확인합니다. 각 구조적 문제는 심각도별로 분류됩니다.
헤더 검증
헤더 행이 감지되면 빈 헤더, 중복 헤더 이름, 앞뒤 공백이 있는 헤더를 확인합니다. 깨끗하고 고유한 헤더는 데이터 가져오기 시스템과 데이터베이스에 필수적입니다.
데이터 유형 분석
각 열의 데이터를 샘플링하여 주요 데이터 유형(정수, 부동 소수점, 불리언, 날짜, 이메일, URL, 문자열)을 결정합니다. 데이터 유형이 혼합되거나 예상치 못한 열을 식별하여 데이터 품질 문제를 나타냅니다.
중복 및 빈 행 감지
각 행을 해시하여 정확한 중복을 효율적으로 감지합니다. 빈 행(데이터가 없거나 구분자만 있는 행)도 식별하고 계산합니다. 두 문제 모두 데이터 가져오기 시 일반적으로 문제를 일으킵니다.
품질 점수 계산
품질 점수는 100에서 시작하여 발견된 문제의 심각도와 수에 따라 감소합니다. 열 불일치나 인코딩 문제 같은 주요 문제는 큰 감점을, 후행 공백 같은 사소한 문제는 작은 감점을 유발합니다.
점수 범위
- 90-100: 우수 – 파일이 깨끗하고 사용 준비 완료
- 80-89: 양호 – 문제를 일으키지 않을 수 있는 사소한 문제
- 60-79: 보통 – 검토가 필요한 문제 있음
- 40-59: 미흡 – 수정이 필요한 심각한 문제
- 0-39: 위험 – 가져오기 실패를 유발할 수 있는 심각한 문제