CSV

CSV(Comma Seperated Value)는 데이터 정보를 전달하는 파일 형식의 하나이다.

1 특징[편집]

단순히 줄 바꿈과 반점(,)으로 데이터를 나누는 방식이기에 어떤 데이터 전달 형식보다도 극히 단순하게 전달할 수 있다. XML의 태그나 JSON의 중괄호 기호, YAML의 들여쓰기 같은 장치가 전혀 없기에 단순하게 전달할 수 있다. 2차원 표로 정리할 수 있는 데이터는 그 어떤 파일 형식보다도 더 간단하게 데이터를 전달할 수 있다.

예를 들면 아래의 표의 내용을 전달한다고 가정한다.

도시명 면적(km²) 인구(명) 자치구 숫자
서울특별시 605.2 9.494.807 25
부산광역시 770.2 3,336,737 15
대구광역시 883.7 2,375,306 7
인천광역시 1,066.5 2,957,066 8
광주광역시 501.1 1,435,378 5
대전광역시 539.5 1,448,401 5
울산광역시 1,062.3 1,115,609 4

그러면 CSV에서는 다음과 같이 데이터를 간단하게 전달할 수 있다. 편의상 숫자를 구별하는 반점(,)은 전달하지 않기로 한다.

도시명,면적,인구,자치구 숫자
서울특별시,605.2,9494807,25
부산광역시,770.2,3336737,15
대구광역시,883.7,2375306,7
인천광역시,1066.5,2957066,8
광주광역시,501.1,1435378,5
대전광역시,539.5,1448401,5
울산광역시,1062.3,1115609,4

CSV에서는 반점(,)을 구분 기호로 사용하므로 반점이 포함된 데이터를 사용할 때에는 ""(따옴표 기호)를 사용해야 한다. 예를 들면 다음과 같은 표를 CSV 형식으로 전달할 때에는 아래와 같이 사용하면 된다.

제목 발행년도
서울, 위대한 도시 1988년
제목,발행년도
"서울, 위대한 도시",1988년

TSV(Tab Separated Value) 같은 것도 있는데 콤마 대신 탭 문자로 데이터들을 구별한다. 웹 사이트에서 표를 블록 지정해서 복사하면 종종 탭 문자로 나누어진 문자열이 복사된다. 닷(.), 슬래시(/) 등도 구분자로 사용가능하다.

1.1 CSV의 단점[편집]

2차원 표 형식으로 나타내기 곤란한 데이터는 CSV로 전달하기 매우 어려워진다. CSV는 각 줄로 데이터를 전달하고, 각 줄의 데이터를 반점(,)으로 구별하는데, 데이터 자체에도 세부 내용을 전달해야 하는 경우 CSV를 사용하기 어려워진다. 이런 경우 XML, JSON 혹은 YAML 같은 데이터 전달 방식을 사용하는 것이 좋다.

또한 CSV는 데이터 구별을 반점(,)과 줄 바꿈만으로 하기에 데이터 오염에 상당히 취약하다. 따라서 정보 전달에 오류가 없음을 보장하지 못하는 환경에서는 사용하지 못한다.

2 사용 예시[편집]

CSV는 스프레드시트처럼 각 항목에 대한 값을 처리할 때 유용하다. CSV는 단순히 데이터 값만 전달하지만 마이크로소프트 엑셀 같은 대부분의 스프레드시트에서도 읽을 수 있다. 그 외에도 프로그래밍 언어에서도 사용한다.

3 참조[편집]

4 각주