CSV의 금액 1,25가 1과 25로 나뉘면 소수점 문자를 열 구분자로 해석했을 가능성이 있습니다. 어떤 지역의 자료는 소수점에 쉼표를 쓰고 열은 세미콜론으로 나눕니다. 파일을 열기만 하면 프로그램이 이 두 규칙을 항상 알아서 구분해 주는 것은 아니므로, 금액 계산 전에 형식을 먼저 확인해야 합니다.
먼저 구분할 조건
열 구분자와 숫자 표기는 서로 다른 설정입니다. 구분자를 세미콜론으로 맞춰 두 열을 얻었다고 해도 1,25를 숫자 1.25로 읽을지는 또 다른 조건입니다. 날짜와 통화 표시도 로캘에 영향을 받을 수 있습니다. 소수점·천 단위 구분 기호를 전부 지우는 방식은 1,234가 천이백삼십사인지 소수 1.234인지 결정하지 못한 상태에서 값을 바꾸는 작업입니다.

직접 확인한 예제와 방법
item;amount 헤더 아래에 A;1,25와 B;2,50을 넣은 가상 CSV를 만들었습니다. Python 3.12.14의 csv.reader에서 세미콜론을 구분자로 지정하면 헤더와 데이터가 모두 두 열로 읽혔습니다. 쉼표를 구분자로 지정하면 헤더는 한 열, 데이터는 두 열로 갈라졌습니다. 소수점 규칙을 명시해 Decimal로 바꾼 뒤 두 금액을 더한 값은 3.75였습니다. 이 합계는 예제 해석 규칙의 결과이며 실제 스프레드시트 로캘 설정을 실행한 시험은 아닙니다.
| 확인 항목 | 관찰 결과 |
|---|---|
| 세미콜론으로 읽기 | 모든 행 2열 |
| 쉼표로 읽기 | 헤더 1열 / 데이터 2열 |
| 소수점 규칙 명시 후 합계 | 3.75 |
결과를 해석하는 기준
헤더 한 열·데이터 두 열이라는 결과는 자료형을 계산하기 전에도 구분 규칙이 틀렸다는 신호입니다. 숫자가 두 칸에 보이는 것을 정상 데이터라고 받아들이면 이후 합계가 다른 값으로 계산될 수 있습니다. 먼저 헤더와 행 구조를 고정하고, 그다음 숫자 표시 규칙을 적용하는 순서가 필요합니다.
Google Sheets는 스프레드시트의 로캘과 시간대 설정을 제공하고, Excel의 가져오기 과정도 자료 형식의 해석에 영향을 줍니다. 제공자 자료의 규칙과 현재 문서의 규칙이 다른지 살피세요. 단순히 셀을 통화 형식으로 꾸미는 작업은 텍스트에 남은 쉼표의 의미를 확정하거나 이미 잘못 변환된 금액을 복구하는 작업과 다릅니다.
같은 쉼표가 다른 뜻을 갖는 혼합 자료
작성 예제로 한 파일은 1,25를 소수로, 다른 파일은 1,250을 천 단위 값으로 사용하는 상황을 가정합니다. 두 파일을 합치기 전에 각 출처의 숫자 규칙을 정해야 합니다. 단순히 모든 쉼표를 삭제하면 첫 값이 125가 되어 원래 의미를 바꿉니다.
| 상황 | 확인할 질문 | 먼저 할 일 |
|---|---|---|
| 소수점 쉼표·세미콜론 구분 | 알려진 출처 규칙이 있는가 | 열 분리 뒤 소수 규칙 적용 |
| 소수점 마침표·쉼표 구분 | 따옴표 안 숫자는 어떻게 읽나 | 원문 필드와 수치 대조 |
| 출처 규칙이 섞임 | 어느 행이 어느 출처인가 | 묶음별 조건을 보존 후 합침 |
작은 알려진 합계와 대표 값으로 변환을 검증하십시오. 구분자가 맞아도 숫자 해석이 틀릴 수 있으므로 구조 검사와 계산 검사를 따로 남겨야 합니다.
내 자료에서 확인할 순서
- 자료 제공자의 소수점·천 단위 기호와 열 구분자를 확인하고 원본을 별도 보관합니다. 표기 규칙을 모르면 변환을 먼저 하지 않습니다.
- 가져오기 미리보기에서 헤더와 대표 데이터가 같은 열 수인지 확인합니다. 이 예제는 item과 amount 두 열이어야 합니다.
- 숫자 표기 규칙을 입력 또는 문서 설정에 명시합니다. 모든 쉼표를 지우거나 마침표로 바꾸는 작업은 해당 열의 규칙을 확인한 뒤에만 합니다.
- 알고 있는 작은 금액을 대조합니다. 예제의 1,25와 2,50은 지정한 규칙에서 1.25와 2.50, 합계 3.75가 되어야 합니다.
- 여러 통화·날짜가 섞여 있으면 열 또는 자료 묶음별 조건을 분리합니다. 한 로캘 설정을 전체 자료에 적용해도 되는지 검토합니다.
- 최종 출력 파일의 금액과 구분자를 다시 읽고, 수신 시스템이 같은 규칙을 쓰는지 확인합니다. 화면 표시와 저장 문자열을 각각 대조합니다.
잘못 바꾸었거나 확인이 어려울 때
자료에 1,234와 1.234가 섞여 있는데 어떤 값인지 설명이 없다면 자동으로 수치를 바꾸지 않는 편이 낫습니다. 금액 계산의 정답을 원본이나 제공자의 규칙에서 확인해야 합니다. 헤더 수와 열 수가 틀린 상태를 숫자 서식 변경으로 덮으면 구조 오류가 남을 수 있으므로 계산 결과를 전달하기 전에 중단하고 형식을 다시 확인하십시오.
정상 완료 기준
자료 행이 기대한 열 수로 읽히고, 알려진 값의 소수점 해석과 합계가 맞으며, 다시 내보낸 파일에서도 같은 규칙이 유지되어야 합니다. 소수점 자리 수가 길다면 업무에서 요구하는 반올림 시점과 표시 자리 수도 함께 기록합니다. 모든 계산을 중간 단계에서 미리 반올림하면 최종 합계가 달라질 수 있습니다.
같은 예제를 다시 확인할 자료
이 실험은 세미콜론 구분과 소수점 쉼표라는 알려진 규칙을 사용했습니다. 미지의 로캘을 자동으로 판단한 결과는 아닙니다. 실험 합계는 가상 자료에 대한 산술 확인이며 실제 거래나 회계 자료의 정확성을 판정하는 서비스가 아닙니다.
- decimal-comma.csv (29 bytes)
자료는 비민감 가상 예제입니다. 손상·불일치라고 표시한 파일은 차이를 확인하는 실험용이며 업무 원본으로 사용하지 않습니다. 파일 크기·SHA-256 목록으로 내려받은 원본을 확인할 수 있습니다.
잘못 읽은 값이 정상 합계처럼 보일 수 있다는 점은 같은 합계·다른 ID 금액의 비교에서도 확인할 수 있습니다.
