기본개념
오늘은 엑셀 작업을 하다 보면 심심치 않게 만나게 되는 csv 확장자에 대해 알아보도록 하겠습니다
CSV는 comma-separated values의 약자로 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터입니다
오래전부터 스프래드시트나 데이터베이스 소프트웨어에서 많이 사용하였으나 세부적인 구현 방법은
각각의 소프트웨어에 따라서 다릅니다
이러한 CSV 파일은 서로 다른 응용프로그램 간에 데이터를 교환하는 데 사용됩니다
즉 보내는 측에서 데이터를 CSV 파일로 만들고 전달하면 받는 측에서는 해당 CSV 파일을 변환해서 보여줍니다
구조
CSV 파일의 구조는 간단하게 구성되는데 쉼표로 구분된 데이터입니다
즉 사용자 정보가 입력되어 있고 해당 정보를 CSV 파일로 내보낸다고 하면 다음과 같은 데이터가 구성됩니다
이름, 나이, 성별, 연락처, 주소
구성된 데이터 항목에 따라서 CSV 파일은 수천 줄, 또는 각 줄에 더 많은 항목의 텍스트 문자열을 포함합니다
CSV 파일의 상단에 헤더가 없을 수 있으며 일부는 따옴표를 사용하여 데이터의 각 비트를 묶을 수도 있지만
쉼표로 구성되는 것이 기본 원칙입니다
일반적으로 CSV 파일의 무결성을 검증할 때에는 한 줄다 콤마 수를 카운트합니다
모든 줄의 콤마 수는 다 같아야 하며 더 적거나 더 많은 줄이 카운트되면 오류로 판단해
제외하는 등의 적절한 처리 알고리즘이 필요합니다
오류의 내용으로는 다음과 같은 경우들이 있습니다
1. 내용에 콤마가 들어가서 한 줄의 콤마 수가 몇 개 늘어나는 경우
2. 줄 바꿈 문자가 누락돼서 한 줄의 콤마 수가 두배로 늘어나는 경우
3. 내용에 줄바꿈 문자가 들어가서 두 줄 이상의 콤마 수가 일반적인 수보다 적은 경우
4. 캐리지 리턴을 인지하지 못해 마지막 필드의 데이터가 깨지는 경우
5. 따옴표가 정상적으로 닫히지 않은 경우
마지막 줄의 라인피드 누락의 경우
첫 줄에 헤더 텍스트가 들어간 CSV를 사용할 때 첫 줄을 건너뛰지 않은 경우
형식
1. 레코드는 줄 바꿈으로 구분 가능
=> a, b, c, CRLF
=> e, f, g CRLF
2. 파일의 마지막 레코드 끝에 줄 바꿈이 존재 유/무 가능
=> a, b, c CRLF
=> a,b,c CRLF
3. 첫 번째 행에 일반 레코드와 동일한 형식을 가지는 헤더행 표시 가능
헤더는 파일의 필드에 해당하는 이름을 포함하고 나머지 레코드와 동일한 수의 필드를 포함
=> f_name, f_name, f_name CRLF
=> a, b, c CRLF
4. 각 필드는 따옴표로 묶는 게 가능
=> "a", "b", "c" CRLF
=> e, f, g
5. 필드를 둘러싸는 데 큰 따옴표가 사용된 경우에는 다른 큰 따옴표를 사용해서 필드 안에 표시된 큰 따옴표를 먼저
처리하고 해당 필드에서 벗어나야 함
=> "a", "b""bb", "c"
대표적으로 엑셀에서 문서를 저장할 때 확장자를 선택하는 칸에서 CSV 파일이 있는데
이 부분에 보면 CSV 파일은 쉼표로 분리된 파일이다라고 명시되어 있습니다
즉 CSV 파일은 모든 데이터를 쉼표로 구분해 놓은 다른 응용프로그램과의 데이터 전달을 위한 포맷이다
정도로 이해하면 쉬울 것 같습니다
'기타' 카테고리의 다른 글
[개발경험] 대전교통공사 하이패스 개발기 (1) | 2022.12.30 |
---|---|
[기타] QR 코드로 파일 다운로드하기 (6) | 2022.09.28 |
[POSTMAN] 포스트맨 사용법 (REST API 테스트) (3) | 2022.09.20 |
GIF란 무엇인가? (2) | 2022.06.08 |
이미지 용량 줄이는 사이트 정리 (4) | 2022.06.08 |
댓글