데이터 관리 · 웹오피스 블로그
Excel에서 멀쩡한 숫자가 CSV에서 달라지는 이유
CSV를 열 때 앞자리 0, 긴 식별번호, 날짜가 달라지는 원인과 값·자료형을 확인하는 실무 기준을 설명합니다.
편집 책임: SideSideDev · 게시: · 수정:
먼저 답하면
CSV에는 Excel 셀의 표시 형식이나 자료형이 그대로 저장되지 않습니다. CSV를 다시 여는 프로그램이 문자열을 숫자나 날짜로 추정하면서 앞자리 0이 빠지거나 긴 번호와 날짜 표기가 달라질 수 있습니다.
CSV는 셀 형식보다 텍스트 값에 가깝다
Excel에서는 00123을 숫자 123에 표시 형식만 적용해 보이게 할 수도 있고, 처음부터 문자 ‘00123’으로 저장할 수도 있습니다. 두 경우는 화면이 비슷해도 CSV로 내보낼 때 결과가 달라질 수 있습니다. 수식, 색상, 여러 시트 같은 정보도 CSV에는 보통 담기지 않습니다.
CSV를 가져오는 프로그램은 각 열의 자료형을 다시 추정합니다. 숫자로 보이는 상품 코드나 우편번호가 실제 계산용 숫자인지, 문자로 보존해야 하는 식별자인지 프로그램은 업무 의미를 알지 못합니다.
긴 번호와 날짜가 특히 취약하다
긴 주문번호나 계좌 관련 식별자를 스프레드시트가 숫자로 해석하면 표시가 지수 표기법으로 바뀌거나 일부 자릿수가 정확히 유지되지 않을 수 있습니다. 날짜로 보이는 문자열도 지역 설정에 따라 월/일 순서가 달라져 해석될 수 있습니다.
따라서 CSV를 더블 클릭해 열었을 때 값이 달라졌다면 원본 CSV의 텍스트가 이미 잘못된 것인지, 열기 단계에서 자동 변환된 것인지 먼저 구분해야 합니다. 원본 파일을 텍스트 편집기에서 확인하면 이 차이를 파악하는 데 도움이 됩니다.
내보내기와 가져오기를 각각 검수
내보내기 전에 식별자 열은 문자로 취급하고, 날짜는 모호하지 않은 표기를 사용하세요. 받는 쪽에는 각 열이 문자·숫자·날짜 중 무엇인지 알려 주는 간단한 데이터 설명을 함께 전달하면 오류를 줄일 수 있습니다.
웹오피스에서 Excel과 CSV를 변환한 뒤에는 행 수뿐 아니라 대표 식별자, 날짜, 빈 값과 한글을 확인하세요. CSV 자체가 올바른 값이어도 다른 프로그램에서 열 때 자동 해석이 달라질 수 있으므로 수신 환경에서도 표본을 다시 검사해야 합니다.
핵심 확인 사항
- 앞자리 0이 있는 식별자 확인
- 긴 번호와 날짜 표본 비교
- 원본 CSV 텍스트와 스프레드시트 표시를 분리해서 판단
참고 자료와 확인 범위
공식 문서의 개념과 웹오피스의 실제 지원 범위는 다를 수 있습니다. 각 자료를 참고한 범위를 함께 표시합니다.
- RFC 4180: CSV 형식
행·필드·인용부호의 형식. 셀 실행의 안전성을 보증하는 규격은 아닙니다.
- Microsoft: Office 파일 형식
일반 Office 형식과 매크로 포함 형식의 차이