CSV (파일 형식)

CSV(영어: comma-separated values)는 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다. 확장자는 .csv이며 MIME 형식은 text/csv이다. comma-separated variables라고도 한다.

Comma-separated values
Comma separated list
파일 확장자.csv
인터넷 미디어 타입
text/csv[1]
포맷 종류텍스트
표준RFC 4180

오래전부터 스프레드시트데이터베이스 소프트웨어에서 많이 쓰였으나 세부적인 구현은 소프트웨어에 따라 다르다. 그것들을 추가한 형태가 2005년 10월 RFC 4180에서 Informational(IESG의 외부에서 결정된 유용한 정보의 제공)로 사양이 문서화됐다.

비슷한 포맷으로는 탭으로 구분하는 'tab-separated values'(TSV)나, 반각 스페이스로 구분하는 'space-separated values'(SSV) 등이 있으며, 이것들을 합쳐서 character-separated values (CSV), delimiter-separated values라고 부르는 경우가 많다.

사양 편집

RFC 4180 은 CSV 포맷을 위한 사양을 제안하며 이것이 흔히 사용되는 정의이다. 그러나 대중적으로 사용되는 "CSV"는 하나의 잘 정의된 형식은 아니다. 그러므로 "CSV"는 실질적으로 다음을 가리키는 어느 파일이 될 수 있다:

  1. ASCII, 다양한 유니코드 문자 집합(예: UTF-8), EBCDIC, Shift JIS와 같은 문자 집합을 사용하는 플레인 텍스트
  2. 레코드로 이루어져 있음 (줄 당 하나의 레코드인 것이 보통)
  3. 여러 개의 필드로 나누니 레코드. 구분 문자(일반적으로 쉼표, 세미콜론, 탭과 같은 하나의 예비 문자. 가끔 선택적 스페이스를 포함할 수 있음.)로 구별.
  4. 모든 레코드가 동일한 시퀀스의 필드를 가진다

역사 편집

CSV는 개인용 컴퓨터 역사 중 10년 이상의 역사를 지닌 데이터 포맷의 하나이다. 1972년에 CSV를 지원한 OS/360IBM 포트란(레벨 H 확장) 컴파일러를 예로 들 수 있다.[2]

사용처 편집

CSV는 흔히 사용되고, 비교적 단순한 파일 포맷이며, 소비자들(consumer)과 업무(business), 그리고 과학 애플리케이션에서 널리 사용되고 있다. 이것을 가장 흔히 사용하는 방법 중 하나는 호환되지 않는 포맷을 사용하는 프로그램 끼리 자료를 전달할 때 사용한다. 이렇게 사용하는 이유는 많은 프로그램들이 포맷을 내보내거나 가져올 때 조금 변형된 형태의 CSV을 지원하기 때문이다.

편집

연도 제조사 모델 설명 가격
1997 Ford E350 ac, abs, moon 3000.00
1999 Chevy Venture "Extended Edition" 4900.00
1999 Chevy Venture "Extended Edition, Very Large" 5000.00
1996 Jeep Grand Cherokee MUST SELL!
air, moon roof, loaded
4799.00

위의 데이터 표는 다음과 같이 CSV 형식으로 표현할 수 있다:

연도,제조사,모델,설명,가격
1997,Ford,E350,"ac, abs, moon",3000.00
1999,Chevy,"Venture ""Extended Edition""","",4900.00
1999,Chevy,"Venture ""Extended Edition, Very Large""",,5000.00
1996,Jeep,Grand Cherokee,"MUST SELL!air, moon roof, loaded",4799.00

각주 편집

  1. Shafranovich, Y. (October 2005). “Common Format and MIME Type for CSV Files”. 《Network Working Group》 (RFC 4180): 1. 2014년 1월 18일에 원본 문서에서 보존된 문서. 2014년 1월 9일에 확인함. 
  2. 《IBM FORTRAN Program Products for OS and the CMS Component of VM/370 General Information》 (PDF) fir판, July 1972, 17쪽, GC28-6884-0, 2016년 2월 5일에 확인함, For users familiar with the predecessor FORTRAN IV G and H processors, these are the major new language capabilities