CSV에 추가 할 수있는“sep =”메타 데이터는 무엇입니까?


24

고객과 함께 스페인 PC의 Excel에서 CSV를 올바르게 열 수있는 방법을 찾으려고 노력 sep=,하면서 파일 맨 위에 사용 하는 것이 좋습니다 .

그것의 얼굴에,이 방법은 작동하지만 그 해답 중 누구도 어떠한 추가 정보를주지 이 메타 데이터 옵션에서 온다. 나는 그것이 의미하는 바를 찾으려고 노력했지만 (따라서 그 대답을 모두 찾았습니다) 구두점을 찾기가 어렵다는 점을 감안할 때 더 이상의 정보를 얻을 수 없었습니다.

내 주요 관심사는 이것이 Excel 관련 기능인지 아닌지 입니다. 나는 그것이 의심하지만 그것을 확인하는 결정적인 것을 찾지 못했습니다.

관련 질문은 다음과 같습니다.

  • 이 설정에서 어떤 문자를 사용할 수 있습니까?
  • 사용 가능한 다른 설정 (예 : 줄 종결 문자, 따옴표 문자 등)
  • 이 기능을 공식적으로 지원하는 다른 도구가 있습니까?

나는 누군가가 나에게이 모든 질문들과 그 이상에 대한 답을 알려줄 수있는 문서가 있기를 바라고있다. 나는 그것을 찾을 수 없었습니다.

몇 가지 설명 :

sep=파서는 매개 변수가 아닙니다. CSV 안에 배치해야합니다 . 예:

sep=|
"LETTER"|"ANIMAL"
"a"|"aardvark"
"b"|"bear"
"c"|"cow"

4
예,이는 엑셀 특정 .
Raystafarian 2013

2
이것에 대해 아무것도 얻을 수 있었습니까? 나는 같은 질문에 휩싸 였지만이 기능을 설명하는 MS 사양을 아직 찾지 못했습니다. 이 기능이 MS에 의해 문서화되어 있지 않다면 어떻게 처음부터이 기능을 사용할 수 있었습니까?
infantmenot

@toddlermenot 슬프게도 아닙니다. 내가 얻는 것은 사람들이 그 주장을 뒷받침 할 아무것도없는 Excel과 관련된 주장을 만드는 것입니다.
Burhan Ali

답변:


7

RFC 4180 은 일반적으로 CSV 형식의 표준으로 인식되며 이러한 기능은 언급하지 않습니다.

웹상의 테이블 형식 데이터 및 메타 데이터에 대한 W3C 모델은 해당 범위 내에없는 기능으로 언급합니다.

많은 "CSV"파일은 메타 데이터를 포함합니다 (예 : CSV 문서의 헤더 행 앞 줄에). 이 사양에서는 헤더 행의 열 이름 외에 메타 데이터를 CSV 파일에 포함하는 형식을 정의하지 않습니다.

따라서이 기능이 Excel과 관련이 있다는 직접적인 증거는 찾지 못했지만 해당 기능을 다루는 표준화 문서가없는 것 같습니다.


좋은 소싱. 내가 말해야 할 한 가지는 sep = | Excel에서 사용할 분리자를 파이프 문자 ( '|')로 정의합니다. 널리 사용되지는 않지만 Excel에만 해당되는 것은 아닙니다. seperator 지시어입니다. 국제 버전의 Excel iirc에는 다른 문자가 있습니다. 예를 들어 Excel을 실행하는 컴퓨터의 유럽 언어는 세미콜론을 사용합니다.
var firstName

1
사용에 대해 알고 있습니다 (아마도 내 대답에서 완전히 명확하지는 않았습니다). Excel에서 해당 기능을 모든 종류의 (공용) 표준을 기반으로 도입 한 것으로 보입니다.
Stefan Kögl 2016 년


-1

sep = 명령어는 이탈리아와 같이 쉼표가 10 진수 구분 기호로 사용되는 모든 국가에서 사용됩니다. Excel은 해당 국가에서 쉼표 대신 세미콜론을 사용하여 CSV를 내보내므로 파일을 미국이나 다른 국가에서 읽을 수있게하려면

sep =;

파일 위에. 이것은 Excel에 따라 다르며 다른 응용 프로그램에서는 무시 될 수 있습니다.


-2

.csv 파일에서 가져올 수있는 도구는 쉼표가 유일한 구분 기호가 아니라는 것을 인식하고 탭은 예를 들어 오랫동안 널리 사용되었습니다. 필자는 이것이 펀치 카드 시절로 거슬러 올라간다고 생각합니다. 데이터 필드의 끝으로 인식되는 문자가 필요합니다. 단, 모든 시스템에 고정 너비 필드 또는 길이 접두사 필드를 사용하는 시스템은 예외입니다. 컴퓨터가 등장한 이래

세 가지 필수 요소는 필드 구분 기호, 레코드 구분 기호 및 데이터 표시 끝입니다. csv 는 기본적으로 각각 쉼표, 줄 바꿈 및 파일 끝을 사용하지만 유효한 입력을 거의 사용할 수 있지만 메커니즘이 필요합니다. 특수 마커가 유효한 데이터 내에서 발생하는 경우 이스케이프 처리합니다.

내가 찾은 역사적인 시스템 중 하나는 필드 끝에 줄 바꿈을 사용하고 레코드 *!*!* END *!*!*끝과 데이터 끝에 2 줄을 사용했습니다 . 나는 일반적으로 ,\t|:다양한 제어 문자와 함께 필드 구분 기호로 사용되는 모든 것을 발견했습니다 .

주의해야 할 것은 프랑스와 다른 사람들이 쉼표를 소수점으로 사용한다는 것입니다. 이것은 모든 종류의 재미와 게임을 유발할 수 있습니다. rfc4180 에는 csv 파일이 어느 정도 표준화되어 있지만 한 프로그램에서 내보내고 다른 프로그램으로 가져올 때 파일을 수동으로 편집해야하는 경우가 있습니다.

예를 들어 Python은 질문의 두 번째 부분에 답하기 위해 다음 옵션을 제공하는 표준 라이브러리 중 하나로 csv 리더 / 라이터 를 포함합니다 .

  • delimiter-이것은 필드 구분자입니다 (이스케이프되지 않은 경우 제외).
  • doublequote- 사실 다음 경우 " 필드는 다음과 같이 표현 될 것이다""
  • escapechar-다음 문자에서 특별한 의미를 제거합니다. 예를 들어 설정된 경우 \quote는 다음과 같이 표현할 수 있습니다.\"
  • lineterminator- 일반적으로 하나 \n, \r, \r\n또는\n\r
  • quotechar- 문자 일반적으로, 문자열을 인용하는 데 사용 "하거나'
  • quoting -다음 중 하나로 플래그를 지정하십시오.
    • ALL -모든 필드는 따옴표로 묶습니다. "1","Free Beer","ASAP"
    • MINIMAL -특수 문자가있는 필드 만 인용하십시오. 1,"Beer, (Free)", Now, Please
    • QUOTE_NONNUMERIC -숫자가 아닌 것을 인용하십시오. 1,"Beer, (Free)", "Now", "Please"
    • NONE -대신 이스케이프를 인용하지 마십시오. 1,Beer\, (Free), Now, Please
  • skipinitialspace- 필드 구분 기호 , 대신 사용 하기 위해 각 필드의 선행 공간을 건너 뜁니다 ,.

일반적으로 csv 파일을 가져올 수있는보다 유연하고 잘 알려진 도구는 이름 및 / 또는 메커니즘이 다른 이러한 옵션 중 더 많은 옵션입니다.


2
이것은 내 질문에 대답하지 않습니다. 이미 알고있는 CSV가 무엇인지 설명합니다. 내 질문은 특정 구문에 관한 것입니다. 질문을 명확하게하기 위해 질문에 추가 할 수있는 배경이 있습니까?
Burhan Ali

1
고맙지 만 여전히 도움이되지 않습니다. sep=파서의 매개 변수가 아닙니다. 내 질문에 약간의 설명을 추가했습니다.
Burhan Ali

1
@SteveBarnes 그러나 언급 한 Python 라이브러리와 같은 도구가 파일 내용의 일부로 옵션을 허용합니까? 그것은 질문의 요점이라고 생각합니다.
랜디 올리 슨

1
"그들은 많은 뛰어난 이상한 점 중 하나이기 때문에." 그래도? 그것은 내가 운동하려고하는 것의 일부입니다. CSV가 무엇인지 알고 싶지 않습니다. CSV를 구문 분석하는 방법을 알고 싶지 않습니다. 나는 무엇 sep=이고 어디에서 왔는지 알고 싶습니다 .
Burhan Ali

1
sep =는 내가 찾을 수있는 Microsoft 이외의 사양에서 다루지 않는 Microsoft Excel 특정 힌트 방법입니다. Microsoft의 일부에서 제공됩니다.
Steve Barnes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.