쉼표로 구분된 값
Comma-separated values![]() |
![]() | |
파일 이름 확장자 | .csv |
---|---|
인터넷 미디어 유형 | text/csv [1] |
포맷의 종류 | 멀티 플랫폼, 시리얼 데이터 스트림 |
컨테이너: | 필드 구분 목록으로 구성된 데이터베이스 정보 |
표준. | RFC 4180 |
CSV(쉼표로 구분된 값) 파일은 쉼표를 사용하여 값을 구분하는 구분된 텍스트 파일입니다.파일의 각 행은 데이터 레코드입니다.각 레코드는 쉼표로 구분된 하나 이상의 필드로 구성됩니다.필드 구분자로 쉼표를 사용하는 것이 이 파일 형식의 이름 원본입니다.CSV 파일에는 보통 표 형식의 데이터(숫자와 텍스트)가 일반 텍스트로 저장됩니다.이 경우 각 행에는 동일한 필드 수가 포함됩니다.
CSV 파일 형식이 완전히 표준화되지 않았습니다.필드를 쉼표로 구분하는 것이 기본이지만 데이터 내의 쉼표나 삽입 줄 바꿈은 특별히 처리해야 합니다.일부 구현에서는 이러한 내용을 허용하지 않는 반면, 다른 구현에서는 필드에 따옴표를 둘렀습니다.따옴표가 데이터에 있는 경우 이러한 내용을 이스케이프할 필요가 있습니다.
"CSV"라는 [2]용어는 세미콜론과 같은 다른 필드 구분 기호를 사용하는 여러 개의 밀접하게 관련된 구분 기호 형식을 나타냅니다.여기에는 탭으로 구분된 값과 공백으로 구분된 값이 포함됩니다.데이터의 일부가 아닌 것을 보증하는 딜리미터를 사용하면, 파싱이 큰폭으로 심플해집니다.
콤마 이외의 필드 구분자를 사용하더라도 구분자로 구분된 대체 파일에는 ".csv" 확장자가 붙는 경우가 많습니다.이 느슨한 용어로 인해 데이터 교환에 문제가 발생할 수 있습니다.CSV 파일을 받아들이는 많은 애플리케이션에는 딜리미터 문자와 따옴표를 선택할 수 있는 옵션이 있습니다.많은 유럽 로케일에서 쉼표를 소수 구분자로, 마침표를 소수 그룹 문자로 사용하기 위해 쉼표 대신 세미콜론이 자주 사용됩니다.
data 교환
CSV는 소비자, 비즈니스 및 과학 애플리케이션에서 널리 지원되는 일반적인 데이터 교환 형식입니다.가장 일반적인 용도 중 하나는 호환성이 없는([1]종종 독점적 또는 문서화되어 있지 않은) 형식으로 작동하는 프로그램 간에 표 형식의[3][4] 데이터를 이동하는 것입니다.이것은 RFC 4180(또는 다른 표준)에 준거하고 있지 않은 경우에도 기능합니다.이는 데이터 Import를 위한 CSV 형식의 바리에이션을 지원하는 프로그램이 매우 많기 때문입니다.
예를 들어, 사용자는 데이터를 독점 형식으로 저장하는 데이터베이스 프로그램에서 완전히 다른 형식을 사용하는 스프레드시트로 정보를 전송해야 할 수 있습니다.대부분의 데이터베이스 프로그램은 데이터를 CSV로 내보낼 수 있으며 내보낸 CSV 파일은 스프레드시트 프로그램으로 Import할 수 있습니다.
사양
RFC4180 에서는 CSV 형식의 사양을 제안하고 있습니다만, 실제의 프랙티스는 RFC에 준거하고 있지 않은 경우가 많아, 「CSV」라고 하는 용어는 다음의 [1][5]파일을 가리키는 경우가 있습니다.
- 는 ASCII, 다양한 Unicode 문자 인코딩(UTF-8 등), EBCDIC 또는 Shift JIS 등의 문자 인코딩을 사용하는 일반 텍스트입니다.
- 레코드(통상은 1줄에 1개의 레코드)로 구성됩니다.
- 레코드가 구분자로 구분된 필드(일반적으로 콤마, 세미콜론, 탭 등 예약된 단일 문자, 경우에 따라 구분자에 옵션 공백이 포함될 수 있음)로 구분됩니다.
- 모든 레코드의 필드 시퀀스가 동일합니다.
이러한 일반적인 제약 조건에서는 많은 변형이 사용됩니다.따라서 추가 정보(RFC 4180이 적용되는지 여부 등)가 없으면 단순히 "CSV" 형식이라고 주장하는 파일은 완전히 지정되지 않습니다.따라서 CSV 파일을 지원하는 일부 애플리케이션에서는 Microsoft Excel의 텍스트 Import 마법사 등 파일의 첫 번째 몇 줄을 미리 보고 딜리미터 문자나 따옴표 규칙을 지정할 수 있습니다.
역사
쉼표로 구분된 값은 개인용 컴퓨터보다 10년 이상 앞선 데이터 형식입니다.[6] 1972년 OS/360의 IBM Fortran(레벨 H 확장) 컴파일러가 CSV를 지원했습니다.목록 지향("자유 형식") 입/출력은 1978년에 승인된 FORTRAN 77에 정의되었습니다.목록 지정 입력에서는 쉼표 또는 공백이 구분자로 사용되므로 따옴표로 묶지 않은 문자열에는 쉼표 또는 공백을 [7]포함할 수 없습니다.
"쉼표로 구분된 값"이라는 용어와 "CSV" [8]약어는 1983년까지 사용되었다.SuperCalc 스프레드시트를 번들한 Osborn Executive 컴퓨터의 매뉴얼에서는 문자열에 콤마를 포함할 수 있는 CSV 견적 규칙을 기술하고 있지만, 매뉴얼에서는 따옴표를 따옴표로 [9]묶는 규칙을 명시하고 있지 않습니다.
쉼표로 구분된 값 리스트는 고정 컬럼으로 정렬된 데이터보다 입력하기 쉽고(예를 들어 펀치된 카드에) 원하는 위치에서 값을 1열 제외하면 잘못된 결과를 얻을 가능성이 적습니다.
쉼표로 구분된 파일은 서로 다른 아키텍처의 시스템 간에 데이터베이스 정보를 교환하는 데 사용됩니다.CSV 파일의 일반 텍스트 문자는 바이트 순서나 워드 크기 등의 비호환성을 크게 방지합니다.파일들은 대부분 사람이 읽을 수 있기 때문에 완벽한 문서나 [10]통신이 없어도 쉽게 처리할 수 있습니다.
"사실상의 애매한 정의"를 보다 정밀하고 명확한 정의로 변환하는 주요 표준화 이니셔티브는 2005년 RFC 4180에서 CSV를 MIME 콘텐츠 [11]유형으로 정의했습니다.이후 2013년에는 W3C 권고로 RFC 4180의 일부 [12]결함이 해결되었습니다.
2014년에 IETF는 CSV 문서에 URI fragment를 적용하는 방법을 설명하는 RFC 7111을 발표했습니다.RFC 7111은 위치 [13]인덱스를 사용하여 CSV 문서에서 행, 열 및 셀 범위를 선택하는 방법을 지정합니다.
2015년 W3C는 CSV를 정식 의미론으로 강화하기 위해 CSV 메타데이터 표준에 대한 첫 번째 권장 초안을 공개했습니다. 이 초안은 같은 [14]해 12월에 권장 사항으로 시작되었습니다.
일반적인 기능
CSV 형식은 각 레코드에 동일한 필드 목록이 있는 레코드 세트 또는 시퀀스를 나타내는 데 가장 적합합니다.이는 관계형 데이터베이스의 단일 관계 또는 일반적인 스프레드시트의 데이터(계산 없음)에 해당합니다.
이 형식은 비즈니스 컴퓨팅의 초기 시대로 거슬러 올라가며 내부 워드 크기, 데이터 서식 요구 등이 서로 다른 컴퓨터 간에 데이터를 전달할 때 널리 사용됩니다.따라서 CSV 파일은 모든 컴퓨터 플랫폼에서 공통으로 사용됩니다.
CSV는 쉼표를 사용하여 값을 구분하는 구분된 텍스트 파일입니다(예를 들어, CSV 가져오기/내보내기 도구의 많은 구현에서는 다른 구분자를 사용할 수 있습니다. 예를 들어 *.csv 파일의 첫 번째 행으로 "Sep=^" 행을 사용하면 Excel이 쉼표 대신 "^"가 구분자여야 하는 파일을 열 수 있습니다).단순한 CSV 실장에서는 콤마나 다른 특수문자(newline 등)를 포함한 필드 값이 금지될 수 있습니다.보다 고도의 CSV 실장에서는, 예약 문자(콤마, 큰따옴표, 또는 보다 일반적인 줄 바꿈 등)를 포함한 값 주위에 「(큰따옴표)」를 입력할 수 있습니다.삽입된 큰따옴표 문자는 연속된 [15]큰따옴표 쌍으로 나타내거나 백슬래시 등의 이스케이프 문자의 프리픽스로 나타낼 수 있습니다(Sybase Central 등).
CSV 형식은 특정 문자 [1]집합에만 제한되지 않습니다.Unicode 문자 세트(UTF-8이나 UTF-16)에서도 ASCII와 같이 동작합니다(단, CSV를 서포트하는 특정의 프로그램에는 독자적인 제한이 있는 경우가 있습니다).CSV 파일은 일반적으로 (거의 모든 독자 데이터 형식과 달리) 한 문자 집합에서 다른 문자 집합으로 단순하게 변환되어도 문제가 없습니다.다만, CSV 는, 사용중의 문자 세트를 나타내는 방법을 제공하지 않습니다.따라서, 개별적으로 통신하거나, 수신측(가능한 경우)에서 판단할 필요가 있습니다.
여러 관계를 포함하는 데이터베이스는 단일 CSV[citation needed] 파일로 내보낼 수 없습니다.마찬가지로 CSV는 계층형 데이터 또는 객체 지향 데이터를 자연스럽게 나타낼 수 없습니다.이는 모든 CSV 레코드의 구조가 동일해야 하기 때문입니다.따라서 CSV는 HTML, XML 또는 기타 마크업 또는 워드프로세서 테크놀로지로 작성된 문서에는 거의 적합하지 않습니다.
다양한 분야의 통계 데이터베이스는 일반적으로 관계와 유사한 구조를 가지지만 일부 반복 가능한 필드 그룹을 가집니다.예를 들어, 인구통계 및 건강 조사와 같은 건강 데이터베이스는 일반적으로 특정 부모의 각 자녀에 대해 몇 가지 질문을 반복합니다(최대 고정 자녀 수까지).통계 분석 시스템에는 그러한 데이터를 "회전"할 수 있는 유틸리티가 포함되어 있는 경우가 많다. 예를 들어, 5명의 자녀에 대한 정보를 포함하는 "부모" 레코드는 각각 (a) 한 자녀에 대한 정보를 포함하는 5개의 개별 레코드와 (b) 모든 비아동 고유 정보의 사본으로 분할될 수 있다.CSV는 이러한 데이터의 "수직" 또는 "수평" 형식을 나타낼 수 있습니다.
관계형 데이터베이스에서는, 이러한 그룹 마다 다른 관계를 작성해, 외부 키(예를 들면, 부모의 ID 번호나 이름)를 사용해 관련하는 「부모」레코드에 「자녀」레코드를 접속하는 것으로, 같은 문제를 간단하게 처리할 수 있습니다.XML 등의 마크업 언어에서는, 이러한 그룹은 통상, 부모 요소내에 격납되어 필요에 따라서 반복됩니다(예를 들면, 복수).<child>
단일 노드 내의 노드<parent>
노드) CSV에서는 널리 받아들여지는 단일 파일 솔루션이 없습니다.
표준화
CSV라는 이름은 쉼표를 사용하여 데이터 필드를 구분하는 것을 나타냅니다.그럼에도 불구하고 "CSV"라는 용어는 여러 가지 면에서 다른 많은 형식의 패밀리를 지칭하기 위해 널리 사용되고 있습니다.일부 구현에서는 일부 또는 모든 필드 주위에 단일 또는 이중 따옴표를 사용하거나 사용해야 합니다.또한 일부 구현에서는 첫 번째 레코드가 필드 이름 목록을 포함하는 헤더로 예약됩니다.사용되고 있는 문자 집합은 정의되어 있지 않습니다.일부 애플리케이션에서는 Unicode 해석을 실시하기 위해서 Unicode Byte Order Mark(BOM; 유니코드 바이트 순서 마크)가 필요합니다(UTF-8 [1]BOM도 있습니다).콤마 대신 탭 문자를 사용하는 파일은 탭으로 구분된 값의 경우 더 정확하게 "TSV"라고 할 수 있습니다.
그 외의 실장상의 차이점에는, 보다 일반적인 필드 구분자(스페이스나 세미콜론 등)와 텍스트필드내의 줄바꿈 문자 처리가 있습니다.한 가지 더 미묘한 점은 빈 줄을 해석하는 것입니다. 즉, 0 필드의 기록이나 길이가 0인 한 필드의 기록일 수 있습니다. 따라서 복호화가 모호합니다.
RFC 4180 및 MIME 표준
2005년 기술표준 RFC 4180에서는 CSV 파일 형식을 공식화하고 텍스트 기반 필드 처리를 위한 MIME 유형 "text/csv"를 정의합니다.그러나 각 필드의 텍스트 해석은 여전히 응용 프로그램에 따라 다릅니다.RFC 4180 표준에 준거한 파일은 CSV 교환을 간소화할 수 있으므로 널리 휴대할 수 있어야 합니다.그 요건 중 하나, 둘, 셋
- (CR/LF) 문자로 끝나는 MS-DOS 스타일의 행(마지막 행의 경우 옵션).
- 옵션 헤더 레코드(존재하는지 여부를 검출하는 확실한 방법은 없으므로 Import 시 주의가 필요합니다).
- 각 레코드에는 같은 수의 쉼표로 구분된 필드를 포함해야 합니다.
- 모든 필드를 따옴표로 묶을 수 있습니다(큰따옴표로 묶음).
- 줄 바꿈, 큰따옴표 또는 쉼표가 포함된 필드는 따옴표로 묶어야 합니다.(그렇지 않으면 파일을 올바르게 처리할 수 없습니다).
- 필드를 묶는 데 큰따옴표를 사용하는 경우 필드의 큰따옴표는 두 개의 큰따옴표로 표현해야 합니다.
이 포맷은 CSV 파일 읽기를 주장하는 대부분의 프로그램에서 처리할 수 있습니다.예외는 (a) 프로그램이 따옴표로 묶인 필드 내의 줄 바꿈을 지원하지 않을 수 있으며 (b) 프로그램이 선택적 헤더와 혼동하거나 첫 번째 데이터 행을 선택적 헤더로 해석할 수 있으며 (c) 필드의 이중 따옴표가 자동으로 올바르게 해석되지 않을 수 있습니다.
OKF 마찰 없는 표 형식의 데이터 패키지
2011년 Open Knowledge Foundation(OKF)과 다양한 파트너들은 데이터 프로토콜 작업 그룹을 만들었고, 이 작업 그룹은 나중에 마찰 없는 데이터 이니셔티브로 발전했습니다.이들이 공개한 주요 형식 중 하나는 표 형식의 데이터 패키지입니다.표 형식의 데이터 패키지는 주로 CSV를 기반으로 하며, 이를 메인 데이터 전송 형식으로 사용하고 기본 유형과 스키마 메타데이터를 추가합니다(CSV에는 문자열 "1"과 숫자 [16]1을 구별하는 유형 정보가 없습니다).
또한 Friscless Data Initiative에서는 CSV의 다양한 사투리를 기술하기 위한 표준 CSV 방언 설명 형식(필드 구분자 또는 견적 규칙 [17]지정 등)도 제공되고 있습니다.
W3C 표 형식의 데이터 표준
2013년에 W3C "CSV on the Web" 작업 그룹은 CSV 또는 유사한 [18]형식을 사용하여 웹 애플리케이션에 더 높은 상호 운용성을 제공하는 기술을 지정하기 시작했습니다.작업 그룹은 2016년 2월에 작업을 완료하고 2016년 3월에 공식적으로 종료되었으며,[20] "표 데이터" 모델링과 메타데이터 및 의미론으로 CSV를 강화하기 위한 문서 및 W3C 권장사항이[19] 공개되었습니다.
기본 규칙
"CSV" 형식을 설명하는 비공식 문서가 많이 있습니다.IETF RFC 4180(위의 요약)에서는 IANA에 등록된 "text/csv" MIME 유형의 형식을 정의합니다.
이들 및 기타 "CSV" 사양 및 구현의 일반적인 규칙은 다음과 같습니다.
- CSV는 쉼표로 구분된 필드/컬럼과 줄 바꿈으로 끝나는 레코드/행이 있는 구분된 데이터 형식입니다.
- CSV 파일에는 특정 문자 인코딩, 바이트 순서 또는 회선 종단 형식이 필요하지 않습니다(일부 소프트웨어는 모든 회선 끝의 변형을 지원하지 않습니다).
- 레코드는 회선 종단기로 끝납니다.다만, 행 터미네이터는 필드내에 데이터로서 짜넣어질 수 있기 때문에, 복수의 행으로부터 레코드 전체를 올바르게 조립하기 위해서, 따옴표로 둘러싸인 행 구분자(아래를 참조)를 소프트웨어가 인식할 필요가 있습니다.
- 모든 레코드는 같은 순서로 같은 수의 필드를 가져야 합니다.
- 필드 내의 데이터는 비트 또는 바이트의 시퀀스가 아닌 문자 시퀀스로 해석됩니다(RFC 2046, 섹션 4.1 참조).예를 들어, 숫자 65535는 5개의 ASCII 문자 "65535"("0xFFFF", "000065535.000E+00" 등)로 나타낼 수 있지만, 2바이트의 시퀀스로는 표시할 수 없습니다(예: 콤마 11264는 2개의 문자가 아닌 1개의 바이너리 정수로 취급됩니다).
ord(',')*256..ord(',')*256+255
이 "일반 텍스트" 규칙을 따르지 않으면 CSV 파일에 올바르게 해석할 수 있는 충분한 정보가 포함되어 있지 않습니다.CSV 파일은 다른 컴퓨터 아키텍처 간의 전송에서 살아남지 못하고 텍스트/CSV MIME 타입에 준거하지 않습니다. - 인접 필드는 쉼표로 구분해야 합니다.단, "CSV" 형식은 이 구분 문자의 선택에 따라 크게 다릅니다.특히 콤마가 소수 구분자로 사용되는 로케일에서는 세미콜론, TAB 또는 기타 문자를 대신 사용합니다.
1997, Ford, E350
- 임의의 필드는 따옴표로 묶을 수 있지만(즉, 큰따옴표로 묶음), 일부 필드는 따옴표로 묶어야 합니다(다음 규칙 및 예에서 지정).
'1997' '포드' 'E350'
- 쉼표 또는 큰따옴표가 포함된 필드는 따옴표로 묶어야 합니다.
1997년, Ford, E350 "슈퍼 럭셔리 트럭"
- 포함된 각 큰따옴표 문자는 큰따옴표 쌍으로 표시되어야 합니다.
1997년, Ford, E350, 슈퍼 럭셔리 트럭
- 줄 바꿈이 내장된 필드는 따옴표로 묶어야 합니다(단, CSV 구현의 대부분은 줄 바꿈을 지원하지 않습니다).
1997년, Ford, E350, "지금 바로 구입하십시오."
- 일부 CSV 구현에서는[which?] 선행 및 후행 공백과 탭이 트리밍(무시)되어 있습니다.이러한 트리밍은 RFC 4180에 의해 금지되어 있습니다.RFC 4180에서는 "스페이스는 필드의 일부로 간주되며 무시되어서는 안 된다"고 규정되어 있습니다.
1997, Ford, E350은 1997과 동일하지 않음, Ford, E350
- RFC 4180에 따르면 필드의 외부 따옴표는 허용되지 않습니다.다만, RFC에서는 「스페이스는 필드의 일부로서 간주되어 무시되어서는 안 됩니다.」및 「실장자는 CSV 파일을 처리할 때는 「당신이 하는 일에 보수적이고, 다른 사람으로부터 받아들이는 것에 자유롭다」(RFC 793, 섹션 2.10)라고 하고 있습니다.
1997년, "Ford", E350
- 선행 또는 후행 공간을 트리밍하는 CSV 구현에서는 의미 있는 데이터와 같은 공백이 있는 필드를 따옴표로 묶어야 합니다.
1997년, Ford, E350, 초호화 트럭 "
- 큰따옴표 처리가 필요한 것은 필드가 큰따옴표로 시작하는 경우뿐입니다.단, RFC 4180에 따라 따옴표가 없는 필드에는 큰따옴표를 사용할 수 없습니다.
로스앤젤레스, 34°03°N, 118°15°W 뉴욕시, 40°42 4646 n N 、 74 00 21 w W 파리, 48 51 51 24 24 n N, 2 21 21 0 03 e E
- 첫 번째 레코드는 각 필드에 열 이름을 포함하는 "header"일 수 있습니다(파일이 이를 수행하는지 여부를 확인할 수 있는 신뢰할 수 있는 방법은 없습니다. 단, 이러한 열 이름에 문자, 숫자 및 밑줄 이외의 문자를 사용하는 것은 일반적이지 않습니다).
Year, Make, Model 1997, Ford, E350 2000, Mercury, Cougar
예
연도 | 만들다 | 모델 | 묘사 | 가격. |
---|---|---|---|---|
1997 | 포드 | E350 | ac, 복근, 달 | 3000.00 |
1999 | 셰비 | 벤처 "확장판" | 4900.00 | |
1999 | 셰비 | 벤처 "확장판, 매우 크다" | 5000.00 | |
1996 | 지프차 | 그랜드 체로키 | 판매해야 합니다! 공기, 달 지붕, 적재 | 4799.00 |
위의 데이터 표는 다음과 같이 CSV 형식으로 나타낼 수 있습니다.
Year, Make, Model, Description, Price 1997, Ford, E350, ac, abs, moon, 3000.00 1999, Chevey, 4900.00 1999, Chevey, Venture "확장판, 매우 크다", 5,000.00 1996, JeepGrangei"판매 필수! 공기, 달 지붕, 적재" ,4799.00
USA/UK CSV 파일의 예(소수 구분 기호는 마침표/풀스톱, 값 구분 기호는 쉼표)
Year, Make, Model, Length 1997, Ford, E350, 2.35 2000, Mercury, Cougar, 2.38
유사한 유럽 CSV/DSV 파일의 예(소수 구분자는 쉼표, 값 구분자는 세미콜론)
연도;제작;모델;길이 1997;Ford;E350;2,35 2000;Mercury;쿠가; 2,38
후자의 형식은 RFC 4180에 [21]준거하지 않습니다.준거성은 세미콜론 대신 쉼표를 구분 기호로 사용하고 소수점 기호를 나타내는 국제 표기법 또는 소수점이 있는 모든 숫자를 따옴표로 표시함으로써 달성할 수 있습니다.
응용 프로그램 지원
일부 응용 프로그램에서는 CSV를 데이터 교환 형식으로 사용하여 CSV의 상호 운용성을 강화하고 CSV를 내보내고 가져옵니다.CSV를 내부 포맷으로 사용하는 경우도 있습니다.
데이터 교환 형식: CSV 파일 형식은 거의 모든 스프레드시트 및 데이터베이스 관리 시스템에서 지원됩니다.
- Apple Numbers, LibreOffice Calc 및 Apache OpenOffice Calc를 포함한 스프레드시트.Microsoft Excel은 CSV도 지원하지만 다른 스프레드시트 소프트웨어에 비해 제한이 있습니다(예를 들어, 2019년 현재[update] Excel은 일반적으로 사용되는 UTF-8 문자 인코딩으로 CSV 파일을 내보낼 수 없습니다).
- 릴레이셔널 데이터베이스는 표준 SQL을 사용하는 경우 CSV를 통해
COPY
명령어를 입력합니다.예를 들어 Postgre에서SQL이 유효합니다.COPY TO t 'file.csv' CSV
그리고.COPY FROM t 'file.csv' CSV
를 클릭합니다.[22] - Unix 스타일의 시스템(컷, 페이스트, Join, 정렬, uniq, awk 등)의 많은 유틸리티 프로그램은 콤마 딜리미터로 파일을 분할할 수 있으므로 간단한 CSV 파일을 처리할 수 있습니다.단, 이 메서드는 따옴표로 둘러싸인 문자열 내의 콤마를 올바르게 처리하지 않습니다.
as(메인 또는 옵션) 내부 표현.네이티브 형식 또는 외부 형식일 수 있지만 다른 형식으로 복사본을 작성할 필요가 없으므로 인터체인지 형식("내보내기/가져오기 전용")과는 다릅니다.
- LibreOffice Calc를 포함한 일부 스프레드시트는 사용자에게 다른 형식을 적용하지 않고 이 옵션을 제공합니다.
- 일부 관계형 데이터베이스는 표준 SQL을 사용할 때 FDW(Foreign Data Wrapper)를 제공합니다.예를 들어 Postgre 입니다.SQL은 "CREATE FORNE TABLE"[23] 및 "CREATE EXTENSION file_fdw[24]"를 제공하여 CSV의 모든 변형을 구성합니다.
- Apache Hive와 같은 데이터베이스는 CSV 또는 .csv.gz를 내부 테이블 형식으로 표현하는 옵션을 제공합니다.
- emacs 에디터는 CSV-nav [25]모드를 사용하여 CSV 파일로 동작할 수 있습니다.
CSV 형식은 많은 프로그래밍 언어에 사용할 수 있는 라이브러리에서 지원됩니다.대부분은 필드 구분 기호, 소수 구분 기호, 문자 인코딩, 따옴표 규칙, 날짜 형식 등을 지정하는 방법을 제공합니다.
소프트웨어 및 행 제한
CSV에서 동작하는 각 소프트웨어에는 CSV 파일의 최대 행 수에 제한이 있습니다.다음은 일반적인 소프트웨어와 그 제한 [26]사항 목록입니다.
- Microsoft Excel: 1,048,576 행 제한
- Apple 번호: 100만 행 제한
- Google Sheets: 500,000 셀 제한(열과 행의 곱)
- OpenOffice 및 LibreOffice: 1,048,576 행 제한
- 텍스트 편집기(WordPad, TextEdit, Vim 등): 행 또는 셀 제한 없음.
- 데이터베이스(COPY 명령 및 FDW): 행 또는 셀 제한이 없습니다.
「 」를 참조해 주세요.
- 탭 구분 값
- 데이터 시리얼화 포맷 비교
- 구분 기호로 구분된 값
- 구분자 충돌
- 플랫 파일 데이터베이스
- 단순한 데이터 형식
- 대체 문자, Null 문자, 보이지 않는 쉼표 U+2063
레퍼런스
- ^ a b c d e Shafranovich, Y. (October 2005). Common Format and MIME Type for CSV Files. IETF. p. 1. doi:10.17487/RFC4180. RFC 4180.
- ^ IBM DB2 Administration Guide. IBM.
- ^ "CSV - Comma Separated Values". Retrieved 2017-12-02.
- ^ "CSV Files". Retrieved June 4, 2014.
- ^ "Comma Separated Values (CSV) Standard File Format". Edoceo, Inc. Retrieved June 4, 2014.
- ^ 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
- ^ "List-Directed I/O", Fortran 77 Language Reference, Oracle
- ^ "SuperCalc², spreadsheet package for IBM, CP/M". Retrieved December 11, 2017.
- ^ "Comma-Separated-Value Format File Structure". 1983. Retrieved December 11, 2017.
- ^ "CSV, Comma Separated Values (RFC 4180)". Retrieved June 4, 2014.
- ^ RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files. doi:10.17487/RFC4180. RFC 4180. Retrieved December 22, 2020.
- ^ 「sparql11-results-csv-tsv」를 참조해 주세요.이것은 CSV로 스코핑되어 RFC 4180의 일부 결함을 보완하는 최초의 W3C 권장 사항입니다.
- ^ RFC 7111: URI Fragment Identifiers for the text/csv Media Type. doi:10.17487/RFC7111. RFC 7111. Retrieved December 22, 2020.
- ^ "Model for Tabular Data and Metadata on the Web – W3C Recommendation 17 December 2015". Retrieved March 23, 2016.
- ^ *Creativyst (2010), How To: The Comma Separated Value (CSV) File Format, creativyst.com, retrieved May 24, 2010
- ^ "Tabular Data Package". Frictionless Data Specs.
- ^ "CSV Dialect". Frictionless Data Specs.
- ^ "CSV on the Web Working Group". W3C CSV WG. 2013. Retrieved 2015-04-22.
- ^ 웹 저장소의 CSV(GitHub의 CSV
- ^ 웹상의 표 형식 데이터 및 메타데이터 모델(W3C 권장)
- ^ Shafranovich(2005년)주,"는 헤더와 각각의 기록 내에 존재할 수 있다 하나 이상의 필드, 쉼표로 구분.".
- ^ "Documentation: 14: COPY". PostgreSQL. 2022-02-10. Retrieved 2022-03-04.
- ^ "Documentation: 14: F.35. postgres_fdw". PostgreSQL. 2022-02-10. Retrieved 2022-03-04.
- ^ "Documentation: 14: F.14. file_fdw". PostgreSQL. 2022-02-10. Retrieved 2022-03-04.
- ^ "EmacsWiki: Csv Nav". www.emacswiki.org.
- ^ "Understanding CSV and row limits". Retrieved Feb 28, 2021.
추가 정보
- "IBMDB2관리 가이드-LOAD, 수입, 수출 파일기".IBM. 2016-12-13에 원래에서 Archived..(영역 아스키(.DEL의 파일 설명나)(그리고 semicolon-separated comma- 포함)과non-delimited 아스키(2016-12-12 Retrieved.데이터 전송을 위해 돌격지 원협 조관)파일.).