한국어

데이터 및 스프레드시트 · CSV 클리너

세미콜론으로 구분됨 CSV 설명: 소수점 쉼표 및 로케일 설정

· 배경

CSV 구분 기호 상호 운용성

숫자로 보이는 값 안에 쉼표가 남아 있고 직사각형으로 유지되는 세미콜론으로 구분된 테이블
원본 ToolAcre 벡터 일러스트레이션

대부분의 유럽에서는 쉼표가 소수 구분 기호이므로 '쉼표로 구분된' 파일에서는 대신 세미콜론을 사용합니다. 이 게시물에서는 분할 이면의 로케일 논리, 스프레드시트 결정 방법, 파일이 경계를 넘을 때 발생하는 상황에 대해 설명합니다.

해외에 있는 동료의 파일이 단일 열로 열립니다. 대부분의 사람들이 CSV에 방언이 있음을 발견한 순간입니다.

쉼표로만 가정하여 열린 세미콜론 내보내기는 하나의 넓은 텍스트 열로 나타납니다. 해당 증상은 데이터가 손상되었다는 증거가 아니라 파서 선택을 반영합니다. ToolAcre는 쉼표, 탭 및 파이프와 함께 세미콜론을 제공하고 실제로 사용한 문자를 컨트롤에 다시 씁니다.

첫 번째 응답은 구조적이어야 합니다. 원시 구분 기호를 검사하고 미리 봅니다. 인용된 텍스트에 구두점이 포함될 수 있고 구문 분석 없이 바이트를 변경하면 값이 변경될 수 있으므로 모든 세미콜론을 맹목적으로 바꾸지 마십시오. 방언 인식 읽기는 구분 기호를 셀 내용과 구별합니다.

소수점 쉼표 — '1,5'이 많은 로케일에서 유효한 숫자인 이유와 쉼표 구분 기호로 인해 구문 분석할 수 없는 이유

통합 문서에서는 소수점 쉼표를 통해 세미콜론을 설명합니다. 이는 유용한 교환 컨텍스트이지만 이 구현에서는 `1,5`을 지역화된 숫자로 구문 분석하지 않습니다. 셀을 문자열로 유지합니다. 따라서 값 내부의 쉼표 의미와 필드 간의 세미콜론 의미는 구문 분석 시 별도로 유지됩니다.

대상 스키마에서 명시적으로 요구하지 않는 한 구분 기호를 복구하는 동안 소수점을 변환하지 마세요. 코드나 문장 필드에는 합법적으로 쉼표가 포함될 수 있습니다. ToolAcre는 테이블 경계를 처리하고 수치 해석을 수신 애플리케이션에 맡깁니다.

십진수-쉼표 컨텍스트는 그럴듯하지만 ToolAcre는 셀 값을 문자열로 처리하고 현지화된 숫자를 구문 분석하지 않습니다.

도구는 운영 체제의 지역 또는 목록 구분 기호 설정을 참조하지 않습니다. 자동 감지는 지원되는 각 후보 아래에서 10개 행 샘플을 구문 분석하고 최대 너비를 측정하며 일관된 직사각형을 생성하는 후보에게 보상합니다. 두 개 이상의 열을 생성하는 항목이 없으면 쉼표로 대체됩니다.

이 파일 기반 방법은 여러 위치에서 재현 가능합니다. 특이하거나 단일 열 데이터에 대해서는 여전히 제대로 선택하지 못할 수 있으므로 수동 선택기가 존재합니다. 컨트롤은 감지된 값을 반영하고 이를 변경하면 원본 텍스트를 다시 구문 분석하고 이미 적용된 정리 단계를 삭제합니다.

ToolAcre는 파일 모양을 감지합니다. 운영 체제 목록 구분 기호 설정을 읽지 않습니다.

잘못된 구분 기호 아래에서 세미콜론 레코드는 여러 열이 되는 대신 하나의 셀로 유지됩니다. ToolAcre는 현지화된 숫자를 해석하지 않으므로 구문 분석 중에 `1,5`을 다른 숫자 값으로 자동 변경할 수 없습니다. 오류는 열 개수와 미리보기 모양에서 볼 수 있습니다.

역방향 불일치로 인해 따옴표가 없는 쉼표가 추가 셀로 분할되어 비정형 행 경고가 발생할 수 있습니다. 따옴표로 묶인 쉼표는 상태 시스템에서 보호된 상태로 유지됩니다. 그럴듯한 첫 번째 행이 이후의 모든 레코드가 정렬되었음을 증명한다고 가정하는 대신 경고를 읽고 예상 헤더 너비를 비교하십시오.

파서는 자동 숫자 변경이 아닌 구조적 판독값을 표시합니다.

`item;price;note` 다음에 `A;1,5;"small, red"` 및 `B;2,0;plain`를 사용합니다. 세미콜론 구문 분석은 쉼표가 포함된 문자열을 모두 유지하면서 세 개의 열을 생성합니다. 쉼표 구문 분석은 필드 내부에 세미콜론을 남기고 대신 쉼표 주위에 오해의 소지가 있는 분할을 생성할 수 있습니다.

세미콜론은 일관된 3열 모양을 생성하지만 쉼표는 그렇지 않기 때문에 탐지기는 세미콜론을 선호해야 합니다. 이 예에서는 1,5에 숫자 값이 있다고 주장하지 않고 파서 동작을 증명합니다. 수신 시스템은 문서화된 자체 십진 규칙을 적용해야 합니다.

작동 예: 쉼표 포함 문자열 값을 사용한 세미콜론 감지

국경 간 교환은 발신자 및 수신자 이름 구분 기호, 인코딩, 헤더 정책 및 값 규칙을 개선합니다. "CSV"만으로는 어떤 문제도 해결되지 않습니다. 작은 Fixture를 포함하고 정확한 수신 파서를 통해 검증한 후 프로덕션 내보내기를 보냅니다.

쉼표 출력이 필요한 경우 세미콜론 소스가 올바르게 구문 분석된 후 직렬화를 위해 쉼표를 선택합니다. 그러면 소수점 쉼표가 포함된 필드가 자동으로 인용되어 셀 텍스트로 유지됩니다. 구문 변환은 소수 표기법이나 통화 형식을 변환하지 않습니다.

여기서 다루지 않는 내용 — 데이터 내부의 숫자 형식을 변환합니다. 구분 기호와 소수점은 별도의 문제입니다.

숫자 형식 변환은 ToolAcre의 구분 기호 복구 외부에 있습니다. 쉼표를 소수점으로 바꾸지 않으며, 천 단위 구분 기호나 캐스트 금액을 인식하지 않습니다. 이는 불완전한 수치 추론이 아니라 의도적인 문자열 보존입니다. 대상 스키마는 해당 변환을 소유합니다.

또한 경로는 파일이 열릴 때 스프레드시트 애플리케이션이 구분 기호를 선택하는 방법을 보장할 수 없습니다. 출력에서 선택한 구분 기호와 충돌하는 문자 주위의 표준 인용만 생성할 수 있습니다. 공급업체 동작을 고안하기보다는 대상 애플리케이션을 테스트하십시오.

구분 기호는 파일이 아닌 로케일을 따릅니다. - ToolAcre CSV Cleaner의 구분 기호 복구가 하나의 알려진 구분 기호가 있는 파일을 제공하는 방법

이 도구에서 구분 기호는 로캘 설정이 아닌 구문 분석된 파일 모양 또는 수동 선택을 따릅니다. 서로 다른 사무실에 있는 두 명의 분석가가 동일한 텍스트를 로드할 때 감지된 동일한 소스 문자를 확인해야 하기 때문에 이러한 수정이 중요합니다. 환경은 파서의 후보 목록을 다시 작성하지 않습니다.

컨트롤을 확인하고 행 너비를 검사하고 알려진 소비자에 대해 내보냅니다. 세미콜론은 깨진 쉼표 CSV도 아니고 십진수 쉼표 데이터의 자동 증명도 아닙니다. 지원되는 구조적 구분 기호 중 하나이며 ToolAcre는 구분 기호 사이의 모든 값을 텍스트로 처리합니다.