CSV란 무엇인가
CSV(Comma-Separated Values)는 쉼표로 구분한 값 파일입니다. 가장 간단한 표 데이터 형식으로, 한 행에 한 건의 기록, 필드 사이는 쉼표로 구분합니다.
이름,나이,도시
홍길동,25,서울
김철수,30,부산
CSV는 데이터 교환의 범용 형식입니다. Excel, 데이터베이스, 프로그래밍 언어 모두 CSV를 읽고 쓸 수 있습니다.
CSV 파싱 규칙
기본 구조
- 한 행에 한 건의 기록
- 필드 사이는 구분자(보통 쉼표)
- 첫 행은 보통 헤더
- 줄바꿈 문자로 기록 구분
필드에 쉼표가 포함된 경우
필드에 쉼표가 있으면 큰따옴표로 감쌉니다:
이름,설명
홍길동,"안녕,세계"
감싸지 않으면 두 필드로 인식합니다.
필드에 큰따옴표가 포함된 경우
필드에 큰따옴표가 있으면 큰따옴표 두 개로 이스케이프합니다:
이름,설명
홍길동,"그가 말했다""안녕"""
필드에 줄바꿈이 포함된 경우
필드에 줄바꿈이 있으면 큰따옴표로 감쌉니다:
이름,설명
홍길동,"첫째 줄
둘째 줄"
구분자 변형
- 쉼표: 표준 CSV
- 세미콜론: 유럽에서 자주 사용(Excel 유럽판 기본)
- Tab: TSV(Tab-Separated Values)
- 세로선: 일부 시스템에서 | 사용
변환 전에 구분자를 확인하세요.
데이터 정제
공백 제거
- 필드 앞뒤 공백: trim 처리
- 빈 행: 삭제
- BOM 헤더: 제거
형식 통일
- 날짜: YYYY-MM-DD로 통일
- 숫자: 소수점 통일(천 단위 구분자 사용 안 함)
- 불린: true/false 또는 0/1로 통일
- 인코딩: UTF-8로 통일
결측값 처리
- 빈 필드: 기본값 채우기 또는 null 표시
- 행 전체 결측: 삭제 또는 보완
- 핵심 필드 결측: 오류 표시
중복 제거
- 완전 중복 행: 삭제
- 기본키 중복: 최신유지 또는 병합
흔한 문제
한글 깨짐
CSV 인코딩 문제가 가장 흔합니다. Excel은 기본적으로 시스템 인코딩(한국은 EUC-KR, 중국은 GBK)을 사용하고, 다른 도구는 UTF-8을 사용합니다.
해결:
- Excel 내보낼 때 "CSV UTF-8" 선택
- 텍스트 편집기로 UTF-8으로 다른 이름으로 저장
- 변환 도구가 자동 인코딩 감지를 지원하는지 확인
구분자 인식 오류
CSV는 쉼표를 사용하지만, Excel 유럽판은 기본적으로 세미콜론을 사용합니다. CSV를 열면 전부 한 열에 몰립니다.
해결:
- 텍스트 편집기로 열어 구분자 확인
- Excel 가져올 때 구분자 지정(데이터 → 텍스트 나누기)
BOM 헤더
Excel이 내보낸 UTF-8 CSV에 BOM(\uFEFF)이 붙을 수 있습니다. 첫 필드 이름 앞에 보이지 않는 문자가 있습니다.
해결: 텍스트 편집기로 BOM 제거, 또는 변환 도구가 자동 처리.
숫자가 과학 표기법으로 변함
긴 숫자(주민등록번호, 주문번호)가 Excel에서 과학 표기법(1.23E+18)으로 변합니다.
해결:
- Excel에서 해당 열을 "텍스트" 형식으로 설정 후 붙여넣기
- CSV에서 숫자 앞에 작은따옴표 추가('123456)
- 가져올 때 해당 열을 텍스트로 지정
날짜 형식 혼란
지역마다 날짜 형식이 다릅니다:
- 한국: 2024/1/1
- 미국: 1/1/2024
- 유럽: 1.1.2024
해결: ISO 8601(2024-01-01)로 통일.
줄바꿈 문자 불일치
Windows는 \r\n, Mac/Linux는 \n을 사용합니다. 혼용하면 파싱 오류가 발생합니다.
해결: 줄바꿈 문자 통일.
CSV 변환
CSV를 JSON으로
프로그램에서는 JSON이 CSV보다 다루기 편합니다. CSV to JSON 도구로 한 번에 변환하세요.
CSV를 Excel로
CSV를 Excel로 열면 표가 됩니다. 단, 인코딩과 구분자에 주의하세요.
Excel을 CSV로
Excel에서 다른 이름으로 CSV 저장. 주의:
- 현재 워크시트만 저장
- 수식은 값으로 변환
- 서식 손실
- 여러 워크시트는 각각 저장
일괄 처리
여러 CSV 병합
여러 CSV 파일을 하나로 병합:
- 헤더가 동일한지 확인
- 첫 파일은 헤더 유지
- 이후 파일은 헤더 제거
- 내용 연결
대용량 CSV 분할
대용량 CSV를 행 수로 분할:
- 각 파일에 헤더유지
- 지정한 행 수로 분할
- 여러 소규모 파일 생성
데이터 필터링
조건으로 CSV 데이터 필터링:
- 특정 필드가 특정 값과 일치
- 숫자 범위 필터링
- 날짜 범위 필터링
DocsAll로 CSV 처리하기
- CSV 업로드 또는 내용 붙여넣기
- 자동 파싱
- JSON으로 변환 출력
- 복사 또는 다운로드
브라우저에서 처리되며 데이터는 업로드되지 않습니다.
처리 팁
먼저 데이터 확인
처리 전에 CSV 내용을 먼저 확인하세요:
- 텍스트 편집기로 열기(Excel 사용 안 함)
- 구분자 확인
- 인코딩 확인
- 헤더 확인
- 데이터 무결성 점검
원본 파일 백업
처리 전에 원본 CSV를 백업하세요. 정제 중 오류가 나면 되돌릴 수 있습니다.
소량 테스트
먼저 몇 행을 처리해 보고, 논리가 맞는지 확인 후 일괄 처리하세요.
결과 검증
처리 후 검증:
- 행 수가 맞는지(정제 후 줄어들어도 지워져서는 안 되는 행이 지워지지 않았는지)
- 필드 수가 일치하는지
- 핵심 데이터 샘플 확인
요약
CSV 처리의 핵심: 파싱 규칙 파악(쉼표, 따옴표, 줄바꿈), 인코딩 문제 해결(UTF-8, BOM), 데이터 정제(공백, 형식, 결측), 형식 변환(JSON, Excel). 처리 전에 데이터를 확인하고 처리 후에 결과를 검증하세요. DocsAll CSV to JSON 도구는 브라우저에서 실행되며 데이터가 외부로 전송되지 않습니다.