고코딩

CSV파일 형식이란? 본문

CS지식

CSV파일 형식이란?

고코딩 2021. 6. 15. 14:44

CSV파일 형식

회사에서 데이터를 넘기는 작업을 하던 도중 CSV파일 형식을 다루게 될 일이 생겼다. 이번 기회에(그나마 덜 바쁠때) CSV파일에 대해 정리해보겠다.

CSV(파일 형식)


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

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

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

사양


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

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


연도 제조사 모델 설명 가격
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

문장과 문자열은 " "로 감싸서 표현한 것을 볼수 있었다.

'CS지식' 카테고리의 다른 글

용어 정리  (2) 2021.07.28
Deployment의 변화 과정  (0) 2021.07.22
RPA - 변화와 기회  (0) 2021.07.21
도커에 대해서 잘 정리한 글  (0) 2021.07.21
카프카 정리  (0) 2021.05.24