쉼표로 구분된 값

(Csv 파일에서 리디렉션됨)
쉼표로 구분된 값
CsvDelimited001.svg
파일 이름 확장명.csv
인터넷 미디어 유형text/csv[1]
초기 릴리즈알 수 없는
정보[2] RFC 2005년 10월
형식 유형다중 플랫폼, 직렬 데이터 스트림
컨테이너:필드 구분 리스트로 구성된 데이터베이스 정보
표준RFC 4180

CSV(쉼표로 구분된 ) 파일쉼표를 사용하여 값을 구분하는 구분된 텍스트 파일이다. 파일의 각 행은 데이터 기록이다. 각 레코드는 쉼표로 구분된 하나 이상의 필드로 구성된다. 쉼표를 필드 구분자로 사용하는 것은 이 파일 형식의 이름의 원본이다. CSV 파일은 일반적으로 표 데이터(숫자 및 텍스트)를 일반 텍스트로 저장하며, 이 경우 각 행의 필드는 동일하다.

CSV 파일 형식이 완전히 표준화되지 않았다. 쉼표로 필드를 분리하는 것이 기초가 되지만 데이터 내 쉼표나 임베디드 라인 단절 은 특별히 처리해야 한다. 일부 구현에서는 그러한 콘텐츠를 허용하지 않는 반면 다른 구현에서는 필드를 따옴표로 둘러싸지만, 데이터에 따옴표가 있으면 다시 이러한 내용을 피할 필요가 생긴다.

"CSV"라는 용어는 세미콜론과 같은 다른 필드 구분자를 사용하는 몇 개의 밀접하게 관련된 구분자 구분 형식을 가리킨다.[citation needed] 여기에는 으로 구분된 과 공백으로 구분된 값이 포함된다. 데이터의 일부가 되지 않도록 보장하는 구분 기호는 구문을 크게 단순화한다.

대체 구분 기호로 구분된 파일에는 비컴마 필드 구분 기호를 사용함에도 불구하고 .csv 확장자가 부여되는 경우가[citation needed] 많다. 이 느슨한 용어는 데이터 교환에 문제를 일으킬 수 있다. CSV 파일을 수용하는 많은 애플리케이션에는 구분 기호 문자와 따옴표 문자를 선택할 수 있는 옵션이 있다. 쉼표를 소수 구분 기호로, 그리고 십진분류 문자로 사용하기 위해 많은 유럽 로케일에서 쉼표 대신 세미콜론이 종종 사용된다. 그 때문에 문자 구분 값이라는 용어는 이 파일 형식의 보다 넓은 정의로 제시된다.[by whom?]

데이터 교환

CSV는 소비자, 비즈니스 및 과학 애플리케이션에 의해 광범위하게 지원되는 공통 데이터 교환 형식이다. 그것의 가장 일반적인 용도들 중 하나는 기본적으로 호환되지 않는 (종종 독점적이거나 문서화되지 않은) 포맷으로 운영되는 프로그램들 간에 표 형식의 데이터를[3][4] 이동하는 것이다.[1] 이는 RFC 4180(또는 다른 표준)을 준수하지 않음에도 불구하고 작동한다. 왜냐하면 너무나 많은 프로그램이 데이터 가져오기를 위한 CSV 형식의 변형을 지원하기 때문이다.

예를 들어, 사용자는 데이터를 독점적인 형식으로 저장하는 데이터베이스 프로그램에서 완전히 다른 형식을 사용하는 스프레드시트로 정보를 전송해야 할 수 있다. 대부분의 데이터베이스 프로그램은 데이터를 CSV로 내보낼 수 있으며 내보낸 CSV 파일은 스프레드시트 프로그램에서 가져올 수 있다.

사양

RFC4180은 CSV 형식에 대한 규격을 제안하지만, 실제 실행은 RFC를 따르지 않으며 "CSV"라는 용어는 다음과 같은 파일을 참조할 수 있다.[2][5]

  1. ASCII, 다양한 유니코드 문자 집합(예: UTF-8), EBCDIC 또는 Shift JIS와 같은 문자 집합을 사용하는 일반 텍스트,
  2. 레코드(한 줄에 하나의 레코드 포함)로 구성됨
  3. 레코드를 구분 기호로 구분한 필드(쉼표, 세미콜론 또는 탭과 같은 하나의 예약된 문자 포함, 때때로 구분 기호는 선택적 공백을 포함할 수 있음)로 구분한다.
  4. 모든 레코드가 동일한 필드 순서를 가지고 있는 경우.

이러한 일반적인 제약조건 내에서 많은 변형이 사용되고 있다. 따라서 추가 정보(RFC 4180의 존속 여부 등)가 없으면 단순히 "CSV" 형식이라고 주장하는 파일이 완전히 명시되지 않는다. 결과적으로 CSV 파일을 지원하는 많은 애플리케이션은 사용자가 파일의 처음 몇 줄을 미리 보고 구분 기호 문자, 인용 규칙 등을 지정할 수 있게 한다. 특정 CSV 파일의 변형이 특정 수신 프로그램이 지원하는 범위 밖에 있는 경우, 손으로 파일을 검토하고 편집하거나(즉, 텍스트 편집기로) 스크립트나 프로그램을 작성하여 적합한 형식을 만드는 것이 실현 가능한 경우가 많다.

역사

쉼표로 구분된 값은 개인용 컴퓨터를 10년 이상 미리 예약하는 데이터 포맷으로 1972년 OS/360에 따른 IBM Fortran(레벨 H 확장) 컴파일러가 CSV를 지원했다.[6] 목록 방향("자유 형식") 입력/출력은 1978년 승인된 FORTRAN 77에서 정의되었다. 구분 기호에 쉼표 또는 공백을 사용하는 목록 방향 입력으로, 인용되지 않은 문자 문자열은 쉼표나 공백을 포함할 수 없다.[7]

"콤마 분리 값"과 "CSV" 약어는 1983년까지 사용되었다.[8] SuperCalculse 스프레드시트를 번들로 묶은 오스본 집행부 컴퓨터 설명서에는 문자열에 포함된 쉼표를 포함시킬 수 있는 CSV 인용 규약을 문서화하지만, 설명서에는 인용된 문자열 내에 인용 부호를 포함시키는 규약을 명시하지 않고 있다.[9]

쉼표로 구분된 값 목록은 고정된 열 정렬 데이터보다 입력(예: 펀치된 카드에 입력)이 더 쉬우며, 원하는 위치에서 한 열을 제외할 경우 잘못된 결과를 생성하기 쉽다.

쉼표로 구분된 파일은 서로 다른 두 아키텍처의 컴퓨터들 간의 데이터베이스 정보 교환에 사용된다. CSV 파일의 일반 텍스트 문자는 바이트 순서단어 크기와 같은 비호환성을 대부분 방지한다. 이 파일들은 대체로 사람이 읽을 수 있기 때문에 완벽한 문서나 통신이 없을 때 다루기가 더 쉽다.[10]

"사실상의 퍼지 정의"를 보다 정밀하고 더 순수한 정의로 변환하는 주요 표준화 이니셔티브는 2005년에 RFC 4180과 함께 CSV를 MIME 콘텐츠 유형으로 정의했다.[11] 이후 2013년에 RFC 4180의 일부 결함은 W3C 권고안에 의해 다루어졌다.[12]

2014년에 IETF는 CSV 문서에 URI 조각의 적용을 기술하는 RFC 7111을 발행했다. RFC 7111은 위치 색인을 사용하여 CSV 문서에서 행, 열 및 셀 범위를 선택하는 방법을 지정한다.[13]

2015년 W3C에서는 공식적인 의미론적 표현으로 CSV를 향상시키기 위한 시도로, 같은 해 12월에 권고안으로서 시작된 CSV-메타데이터 표준에 대한 첫 번째 권고안 초안을 공표하였다.[14]

일반 기능

CSV 형식은 각 레코드가 동일한 필드 목록을 갖는 레코드의 세트 또는 시퀀스를 나타내기 위해 가장 잘 사용된다. 이것은 관계형 데이터베이스의 단일 관계 또는 일반적인 스프레드시트의 데이터(계산되지는 않음)에 해당한다.

이 포맷은 비즈니스 컴퓨팅의 초기 시대로 거슬러 올라가며, 내부 단어 크기, 데이터 포맷 필요성 등을 달리하는 컴퓨터 간에 데이터를 전달하는 데 널리 사용된다. 이 때문에 CSV 파일은 모든 컴퓨터 플랫폼에서 공통적으로 볼 수 있다.

CSV는 쉼표를 사용하여 값을 구분하는 구분된 텍스트 파일이다(CSV 가져오기/내보내기 도구의 많은 구현은 다른 구분자를 사용할 수 있게 한다. 예를 들어, *.csv 파일의 첫 번째 행으로 "Sp=^" 행을 사용하면 캐럿 "^"이 쉼표 "" 대신 분리자가 될 것으로 예상되는 파일을 Excel이 열 수 있다. 단순한 CSV 구현은 쉼표 또는 새로운 과 같은 기타 특수 문자를 포함하는 필드 값을 금지할 수 있다. 보다 정교한 CSV 구현은 예약된 문자(예: 쉼표, 큰따옴표 또는 덜 일반적으로 새로운 줄)를 포함하는 값 주위에 "(더블따옴표) 문자를 요구함으로써 이러한 문자를 허용한다. 포함된 큰따옴표 문자는 연속된 큰따옴표 쌍으로 나타낼 수도 있고,[15] 큰따옴표 앞에 백슬래시와 같은 이스케이프 문자(예: Sybase Central)를 붙여서 나타낼 수도 있다.

CSV 형식은 특정 문자 집합에만 국한되지 않는다.[1] 이들은 유니코드 문자 집합(UTF-8 또는 UTF-16과 같은)에서도 ASCII처럼 잘 작동한다(CSV를 지원하는 특정 프로그램에도 자체적인 제한이 있을 수 있다). CSV 파일은 거의 모든 소유권 데이터 형식과 달리 일반적으로 한 문자 집합에서 다른 문자 집합으로 순진한 변환에서도 살아남는다. 그러나 CSV는 어떤 문자 집합이 사용 중인지 표시하는 방법을 제공하지 않으므로 별도로 통신하거나 수신 종료 시(가능한 경우)에 결정되어야 한다.

다중 관계가 포함된 데이터베이스는 단일 CSV 파일로[citation needed] 내보낼 수 없다. 마찬가지로 CSV는 계층적 또는 객체 지향적 데이터를 자연스럽게 나타낼 수 없다. CSV 기록마다 구조가 같을 것으로 예상되기 때문이다. 따라서 CSV는 HTML, XML 또는 기타 마크업 또는 워드 프로세싱 기술로 작성된 문서에는 거의 적합하지 않다.

다양한 분야의 통계 데이터베이스는 일반적으로 관계형 구조를 가지지만, 일부 반복 가능한 필드 그룹이 있다. 예를 들어 인구통계건강 조사와 같은 건강 데이터베이스는 일반적으로 특정 부모의 각 자녀(아마도 고정된 최대 자녀 수까지)에 대해 몇 가지 질문을 반복한다. 통계분석 시스템은 흔히 그러한 데이터를 "회전"할 수 있는 유틸리티를 포함한다. 예를 들어, 5명의 아동에 대한 정보를 포함하는 "부모" 레코드는 각각 (a) 한 아이에 대한 정보와 (b) 모든 비아동에 대한 정보의 사본을 포함하는 5개의 별도 레코드로 분할될 수 있다. CSV는 그러한 데이터의 "수직적" 또는 "수평적" 형태를 나타낼 수 있다.

관계형 데이터베이스에서는, 그러한 각 그룹에 대해 별도의 관계를 만들고, 외래 키(예: 부모의 ID 번호나 이름)를 사용하여 관련 "부모" 레코드에 "자녀" 레코드를 연결함으로써, 유사한 문제를 쉽게 처리한다. XML과 같은 마크업 언어의 경우, 그러한 그룹은 일반적으로 상위 요소 내에서 폐쇄되고 필요에 따라 반복된다(예: 다중 언어). <child> 단일 내 노드 <parent> 노드). CSV에는 널리 수용되는 단일 파일 솔루션이 없다.

소프트웨어 및 행 제한

CSV와 함께 작동하는 각 소프트웨어는 CSV 파일이 가질 수 있는 최대 행의 양에 제한이 있다. 다음은 공통 소프트웨어 목록과 그 제한 사항이다.[16]

  • Microsoft Excel: 1048,576행 제한
  • Apple 번호: 100만 행 제한
  • Google 시트: 500만 셀 제한(열과 행의 제품)
  • OpenOffice 및 LibreOffice: 1048,576행 제한
  • 텍스트 편집기(예: 워드패드, TextEdit, Vim 등): 행 또는 셀 제한 없음

표준화

CSV라는 이름은 쉼표를 사용하여 데이터 필드를 분리하는 것을 의미한다. 그럼에도 불구하고, "CSV"라는 용어는 많은 면에서 다른 포맷의 대가족을 지칭하기 위해 널리 사용된다. 일부 구현에서는 일부 또는 전체 필드를 중심으로 단일 또는 큰따옴표를 허용하거나 필요로 하며, 일부 구현에서는 첫 번째 레코드를 필드 이름 목록을 포함하는 헤더로 예약한다. 사용 중인 문자 집합은 정의되지 않음: 일부 애플리케이션은 유니코드 해석을 시행하기 위해 유니코드 바이트 순서 표시(BOM)를 필요로 한다(때로는 UTF-8 BOM도 마찬가지).[1] 쉼표 대신 탭 문자를 사용하는 파일은 으로 구분된 에 대해 보다 정확하게 "TSV"라고 말할 수 있다.

다른 구현 차이에는 텍스트 필드 내의 더 일반적인 필드 구분자(예: 공백 또는 세미콜론)와 줄 바꿈 문자의 처리가 포함된다. 한 가지 더 미묘한 점은 빈 행의 해석이다: 그것은 똑같이 0 필드의 기록이나 0 길이의 한 필드의 기록의 결과일 수 있기 때문에 그것을 해독하는 것은 애매하다.

OKI 무마찰 표

2011년 OKF(Open Knowledge Foundation)와 다양한 파트너는 데이터 프로토콜 워킹 그룹을 만들었고, 이후 무마찰 데이터 이니셔티브로 발전했다. 그들이 발표한 주요 형식 중 하나는 표 데이터 패키지였다. Tableular Data 패키지는 CSV를 기반으로 하여 주 데이터 전송 포맷으로 사용하고 기본 유형과 스키마 메타데이터를 추가하였다(CSV에는 문자열 "1"과 숫자 1을 구별할 수 있는 어떤 유형 정보도 없다).[17]

무마찰 데이터 이니셔티브는 필드 구분자 또는 인용 규칙을 지정하는 등 CSV의 서로 다른 사투리를 설명하기 위한 표준 CSV 방언 설명 형식도 제공했다.[18]

인터넷 W3C 표 데이터 표준

2013년에 W3C "CSV on the Web" 작업 그룹은 CSV 또는 유사한 형식을 사용하는 웹 애플리케이션에 더 높은 상호운용성을 제공하는 기술을 지정하기 시작했다.[19] 워킹그룹은 2016년 2월 작업을 완료했으며, 2016년 3월 '타블러 데이터'[21] 모델링을 위한 세트 문서와 W3C 권고안이[20] 공개되고 메타데이터의미론 등으로 CSV를 강화하면서 공식 폐쇄된다.

RFC 4180 표준

2005년 기술표준 RFC 4180은 CSV 파일 형식을 공식화하고, 텍스트 기반 필드 처리를 위한 MIME 타입 "text/csv"를 정의한다. 그러나 각 분야의 텍스트에 대한 해석은 여전히 적용에 특화되어 있다. RFC 4180 표준을 따르는 파일은 CSV 교환을 단순화할 수 있으며 광범위하게 휴대할 수 있어야 한다. 그 요구 사항들 중:

  • (CR/LF) 문자로 끝나는 MS-DOS 스타일 줄(마지막 줄의 경우 옵션)
  • 선택적 헤더 레코드(있는지 여부를 확인할 수 있는 확실한 방법이 없으므로 가져올 때 주의가 필요함).
  • 각 레코드에는 동일한 수의 쉼표로 구분된 필드가 포함되어야 한다.
  • 모든 필드는 인용될 수 있다(큰따옴표로 묶음).
  • 줄 바꿈, 이중 인용문 또는 쉼표를 포함하는 필드를 인용해야 한다. (만약 그렇지 않다면, 파일은 제대로 처리하기가 불가능할 것 같다.)
  • 필드를 둘러싸는 데 이중 구문을 사용할 경우 필드의 이중 구문은 두 개의 이중 구문 문자로 표시되어야 한다.

형식은 CSV 파일 읽기를 주장하는 대부분의 프로그램에서 처리할 수 있다. 예외는 (a) 프로그램은 인용된 필드 내의 줄 바꿈을 지원하지 않을 수 있으며, (b) 프로그램은 선택적 헤더와 데이터를 혼동하거나 첫 번째 데이터 라인을 선택적 헤더로 해석할 수 있으며, (c) 필드의 큰따옴표는 자동으로 올바르게 구문 분석되지 않을 수 있다.

기본 규칙

"CSV" 형식을 설명하는 많은 비공식 문서들이 존재한다. IETF RFC 4180(위 요약)은 IANA에 등록된 "text/csv" MIME 유형의 형식을 정의한다.

이들 및 기타 "CSV" 규격 및 구현의 대표적인 규칙은 다음과 같다.

  • CSV는 쉼표 문자로 구분된 필드/컬럼과 새 에 의해 종료된 레코드/행으로 구분된 구분된 데이터 형식이다.
  • CSV 파일에는 특정 문자 인코딩, 바이트 순서 또는 라인 터미네이터 형식이 필요하지 않다(일부 소프트웨어는 모든 라인 엔드 변형을 지원하지 않는다).
  • 레코드는 라인 종단기에서 끝난다. 그러나, 선단말기(line-terminator)는 필드 내의 데이터로 내장될 수 있으므로 소프트웨어가 인용된 선분할기(아래 참조)를 인식하여 아마도 여러 선에서 전체 기록을 올바르게 조립해야 한다.
  • 모든 기록에는 동일한 수의 필드가 있어야 한다.
  • 필드 내의 데이터는 비트나 바이트의 순서가 아닌 일련의 문자로 해석된다(RFC 2046, 섹션 4.1 참조). For example, the numeric quantity 65535 may be represented as the 5 ASCII characters "65535" (or perhaps other forms such as "0xFFFF", "000065535.000E+00", etc.); but not as a sequence of 2 bytes intended to be treated as a single binary integer rather than as two characters (e.g. the numbers 11264–11519 have a comma as their high order byte: ord(',')*256..ord(',')*256+255만일 이 "일반 텍스트" 규약을 따르지 않는다면, CSV 파일은 더 이상 그것을 정확하게 해석하기에 충분한 정보를 포함하지 않으며, CSV 파일은 다른 컴퓨터 아키텍처에 걸친 전송에서 살아남지 못할 것이며, 텍스트/csv MIME 유형에 부합하지 않을 것이다.
  • 인접 필드는 하나의 쉼표로 구분해야 한다. 그러나 "CSV" 형식은 이러한 구분 문자 선택에 따라 크게 다르다. 특히 쉼표를 소수 구분자로 사용하는 로케일에서 세미콜론, TAB 또는 다른 문자를 대신 사용한다.
    1997년, 포드, E350
  • 모든 필드는 인용될 수 있으며(즉, 이중 인용문자로 묶음), 일부 필드는 다음 규칙과 예에서 명시한 대로 인용되어야 한다.
    "1997", "포드", E350"
  • 쉼표 또는 이중 인용문자가 포함된 필드는 인용되어야 한다.
    1997년, 포드, E350,"슈퍼, 럭셔리 트럭
  • 내장된 각 이중 인용문자는 쌍의 이중 인용문자로 표시되어야 한다.
    1997년, 포드, E350,"슈퍼, "명품" 트럭"
  • 줄 바꿈이 포함된 필드는 인용되어야 한다(그러나 많은 CSV 구현은 줄 바꿈을 지원하지 않는다).
    1997년, 포드, E350 "지금 빨리 하나 구하라" 
  • 일부 CSV 구현에서는[which?] 선행 및 후행 공백과 탭이 잘려(무시화)된다. 이러한 트리밍은 RFC 4180에 의해 금지되며, "스페이스를 필드의 일부로 간주하며 무시해서는 안 된다"고 명시되어 있다.
    1997년, 포드, E350은 1997년과 같지 않다, 포드, E350 
  • RFC 4180에 따르면, 한 필드의 외부 인용문 공간은 허용되지 않지만, RFC는 또한 "공간은 필드의 일부로 간주되며 무시되어서는 안 된다" "이행자는 CSV 파일을 처리할 때 '당신이 하는 일에 보수적이어야 하고, 다른 사람에게서 받아들이는 일에 자유로워야 한다'(RFC 793, 섹션 2.10)고 말한다.
    1997, "포드" ,E350
  • 선행 또는 후행 공간을 트리밍하는 CSV 구현에서는 의미 있는 데이터와 같은 공간이 있는 필드를 인용해야 한다.
    1997년, 포드, E350,"슈퍼, 럭셔리 트럭
  • 이중 견적 처리는 필드가 이중 견적으로 시작하는 경우에만 필요하다. 그러나 RFC 4180에 따라 인용되지 않은 필드에서는 큰따옴표가 허용되지 않는다는 점에 유의하십시오.
    로스앤젤레스,34°03°N,118°15°W 뉴욕,40°42′46″N,74°00′21″W 파리,48°51′24″N,2°21′03″E 
  • 첫 번째 레코드는 각 필드의 열 이름을 포함하는 "헤더"일 수 있다(파일이 이 작업을 하는지 여부를 알 수 있는 신뢰할 수 있는 방법은 없지만, 이러한 열 이름에 문자, 숫자 및 밑줄 이외의 문자를 사용하는 경우는 드물다).
    Year,Make,Model 1997,Ford,E350 2000,Mercury,Cougar 

연도 만들다 모델 설명 가격
1997 포드 E350 ac, 복근, 달 3000.00
1999 체비 벤처 "확장판" 4900.00
1999 체비 벤처 "Extended Edition, 매우 큼" 5000.00
1996 지프차 그랜드 체로키 판매해야 한다!
공기, 달 지붕, 적재됨
4799.00

위의 데이터 표는 다음과 같이 CSV 형식으로 나타낼 수 있다.

Year,Make,Model,Description,Price 1997,Ford,E350"ac,복근,달",3000.00 1999,Chevy,"Venture "Extended Edition","4900.00 1999,00 1999,Chevy,"Venture "Entended Edition, Ver Large","5,000.00 1996,Jeep,Grand Chero."반드시 팔아야 한다! 공기, 달 지붕, 적재" 4799.00 

USA/UK CSV 파일의 예(십진수 구분 기호는 마침표/완전 정지, 값 구분 기호는 쉼표).

Year,Make,Model,Length 1997,Ford,E350,2.35 2000,Mercury,Cougar,2.38 

유사한 유럽 CSV/DSV 파일의 예(소수 구분 기호는 쉼표, 값 구분 기호는 세미콜론).

연도;만들기;모델 만들기;길이 1997;포드;E350;2,35 2000;머큐리;쿠거;2,38 

후자의 형식은 RFC 4180과 호환되지 않는다.[22] 준수는 세미콜론 대신 쉼표를 구분자로 사용하고 소수점 표시의 표현을 위한 국제 표기법 또는 소수점 표시가 있는 모든 숫자를 인용하는 관행에 의해 달성될 수 있다.

애플리케이션 지원

CSV 파일 형식은 Apple Numbers, LibreOffice Calc, Apache OpenOffice Calc를 포함한 거의 모든 스프레드시트와 데이터베이스 관리 시스템에서 지원된다. 마이크로소프트 엑셀도 CSV를 지원하지만 다른 스프레드시트 소프트웨어에 비해 제약이 있어(2019년 현재도 엑셀은 일반적으로 사용되는 UTF-8 문자 인코딩으로 CSV 파일을 내보낼 수 없다)

CSV 형식은 많은 프로그래밍 언어에 사용할 수 있는 라이브러리에 의해 지원된다. 대부분은 필드 구분 기호, 소수 구분 기호, 문자 인코딩, 인용 규칙, 날짜 형식 등을 지정하는 방법을 제공한다.

emacs 편집기는 csv-nav 모드를 사용하여 CSV 파일에서 작동할 수 있다.[23]

Unix 스타일 시스템의 많은 유틸리티 프로그램(: cut, paste, join, sort, uniq, awk)은 쉼표로 구분된 문자로 파일을 분할할 수 있으므로 간단한 CSV 파일을 처리할 수 있다. 그러나 이 방법은 인용된 문자열 내에서 쉼표를 올바르게 처리하지 않는다.

참고 항목

참조

  1. ^ 위로 이동: Shafranovich, Y. (October 2005). Common Format and MIME Type for CSV Files. IETF. p. 1. doi:10.17487/RFC4180. RFC 4180.
  2. ^ 위로 이동: 샤프라노비치(2005)는 "이 RFC는 쉼표로 구분된 값(CSV) 파일의 형식을 문서화하고 RFC 2048에 따라 CSV용 "텍스트/csv" MIME 유형을 정식으로 등록한다"고 기술하고 있다.
  3. ^ "CSV - Comma Separated Values". Retrieved 2017-12-02.
  4. ^ "CSV Files". Retrieved June 4, 2014.
  5. ^ "Comma Separated Values (CSV) Standard File Format". Edoceo, Inc. Retrieved June 4, 2014.
  6. ^ IBM FORTRAN Program Products for OS and the CMS Component of VM/370 General Information (PDF) (first ed.), July 1972, p. 17, GC28-6884-0, retrieved February 5, 2016, For users familiar with the predecessor FORTRAN IV G and H processors, these are the major new language capabilities
  7. ^ "List-Directed I/O", Fortran 77 Language Reference, Oracle
  8. ^ "SuperCalc², spreadsheet package for IBM, CP/M". Retrieved December 11, 2017.
  9. ^ "Comma-Separated-Value Format File Structure". Retrieved December 11, 2017.
  10. ^ "CSV, Comma Separated Values (RFC 4180)". Retrieved June 4, 2014.
  11. ^ RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files. doi:10.17487/RFC4180. RFC 4180. Retrieved December 22, 2020.
  12. ^ CSV로 범위가 지정되고 RFC 4180의 일부 결함을 보완하는 첫 번째 W3C 권장 사항인 스파르ql11-results-csv-tsv를 참조하십시오.
  13. ^ RFC 7111: URI Fragment Identifiers for the text/csv Media Type. doi:10.17487/RFC7111. RFC 7111. Retrieved December 22, 2020.
  14. ^ "Model for Tabular Data and Metadata on the Web – W3C Recommendation 17 December 2015". Retrieved March 23, 2016.
  15. ^ *Creativyst (2010), How To: The Comma Separated Value (CSV) File Format, creativyst.com, retrieved May 24, 2010
  16. ^ "Understanding CSV and row limits". Retrieved Feb 28, 2021.
  17. ^ "Tabular Data Package". Frictionless Data Specs.
  18. ^ "CSV Dialect". Frictionless Data Specs.
  19. ^ "CSV on the Web Working Group". W3C CSV WG. 2013. Retrieved 2015-04-22.
  20. ^ 웹 저장소의 CSV(GitHub의 경우
  21. ^ 웹 상의데이터메타데이터 모델(W3C 권장사항)
  22. ^ 샤프라노비치(2005)는 "헤더와 각 기록 내에는 쉼표로 구분된 하나 이상의 필드가 있을 수 있다"고 기술하고 있다.
  23. ^ "EmacsWiki: Csv Nav".

추가 읽기