지저분한 CSV 내보내기 파일 정리하는 법: 확인할 문제를 순서대로
지저분한 CSV 내보내기 파일을 정리하려면 단계별로 고치세요. 먼저 문자를, 다음으로 구조를, 마지막으로 각 열이 무엇을 뜻하는지를 봅니다. CSV는 일반 텍스트 파일이라 대부분의 문제는 잘못된 문자, 불필요한 행이나 구분자, 또는 프로그램이 사람과 다르게 읽는 값에서 생겨요. 문자부터 고쳐야 합니다. 보이지 않는 공백 하나 때문에 날짜가 날짜로 인식되지 않으면, 그다음 작업들이 까닭 없이 실패하게 돼요.
CSV 정리 도구빈 칸과 중복이 섞인 CSV무료로 사용하기겉보기에만 맞는 문자
불필요한 공백. 셀의 맨 앞이나 맨 뒤에 있는 공백, 또는 값 가운데의 공백 두 개는 조회, 필터, 결합 작업에서 “베를린 ”과 “베를린”을 서로 다른 값으로 만들어요.
보이지 않는 문자. 어떤 문자는 화면에서 차지하는 공간이 없어요:
- 줄바꿈 금지 공백(U+00A0)은 일반 공백처럼 보이지만 다른 문자예요. 웹페이지에서 단어가 끊기지 않도록 쓰이죠.
- 너비가 없는 공백(U+200B)은 폭이 전혀 없어요.
- 바이트 순서 표지(U+FEFF)는 파일의 맨 앞, 첫 번째 머리글 앞에 숨어 있을 수 있어요. 열 이름은 “id”로 보이지만 실제로는 “id”이므로 “id” 조회는 실패해요.
숨은 문자 제거 도구는 무언가를 바꾸기 전에 찾아낸 문자를 먼저 보여 줘요.
깨진 글자. “é”여야 할 자리에 “é”가 보인다면 인코딩 문제이며, 이를 모지바케(mojibake)라고 불러요. 파일이 UTF-8로 저장됐는데 Windows-1252로 읽혀서 생기는 현상이에요. UTF-8에서 é는 두 바이트를 차지하고, Windows-1252에서는 그 두 바이트가 전혀 관계없는 두 글자가 되기 때문이죠. 같은 원리로 “’” 아포스트로피는 “’”로 나타나요. 해결 방법은 파일을 UTF-8로 읽거나, 원본에서 UTF-8을 선택해 다시 내보내는 거예요. 이미 잘못 저장된 텍스트를 복구하는 건 불안정하니, 원본은 그대로 두고 복사본에서 작업하세요.
구조: 제목 행, 빈 줄, 중복
보고서는 실제 헤더 위에 제목, 날짜, 빈 줄이 붙어 있는 경우가 많아요. 헤더 행 위의 내용을 모두 지워서 첫 줄에 열 이름이 오도록 하세요. 열마다 이름이 하나씩 있어야 하고, 빈 이름은 없어야 해요.
모든 행의 필드 개수는 같아야 해요. 값 안에 따옴표 없이 들어간 쉼표 하나는 필드를 하나 더 만들고, 그 뒤의 값들이 모두 한 열씩 오른쪽으로 밀려요. 행마다 필드 수를 세어 보세요. 개수가 다른 행은 깨진 행이에요.
중복에는 두 종류가 있어요. 모든 열이 같은 행은 보통 내보내기나 붙여넣기를 두 번 해서 생긴 것이라 안전하게 지워도 돼요. 키는 같지만 다른 부분이 있는 행은 업데이트일 수 있어요. 잘못 지우면 최신 버전이 사라질 수 있으니 먼저 확인하세요.
날짜: 03/04/2026은 두 가지 날짜일 수 있음
03/04/2026은 어떤 나라에서는 4월 3일이고 다른 나라에서는 3월 4일이에요. 텍스트만으로는 어느 쪽인지 알 수 없어요. 같은 열의 다른 날짜를 살펴보세요. 첫 번째 숫자가 12보다 큰 값이 하나라도 있으면 일-월 순서 열이고, 두 번째 숫자가 12보다 큰 값이 있으면 월-일 순서 열이에요. 모든 값의 두 숫자가 모두 12 이하라면 파일만으로는 알 수 없으니 원본 시스템에 확인하세요. 데이터 타입 검사기는 이런 열을 추측하지 않고 모호하다고 표시해 줘요.
순서를 알게 되면 모든 날짜를 ISO 8601 형식, 예를 들어 2026-04-03 같은 연-월-일 형식으로 바꾸세요. 해석이 하나로 정해지고, 문자열로 정렬해도 순서가 맞아요. 두 가지 형식이 섞인 열은 대부분의 프로그램이 일관되지 않게 읽으니, 섞인 형식은 하나씩 바꾸세요.
텍스트로 저장된 숫자
숫자에 통화 기호, 백분율 기호, 또는 가운데 공백이 들어 있으면 텍스트로 저장된 거예요. 예를 들어 “€ 12”, “45%”, 줄바꿈 금지 공백이 들어간 “1 234” 같은 경우죠. “1,234.50”처럼 천 단위 구분 기호가 있어도 프로그램은 값을 텍스트로 읽는 경우가 많아요. 스프레드시트에서는 텍스트 숫자가 왼쪽으로 정렬되고, 합계에서 빠져요.
소수점 쉼표가 함정이에요. “1.234,50”에서는 쉼표가 소수점이고 마침표가 천 단위를 묶어요. “1,234.50”은 반대죠. 그래서 “1,234”는 어떤 내보내기에서는 1234이고 다른 곳에서는 1.234일 수 있어요. 변환하기 전에 원본의 로케일을 확인한 뒤, 천 단위 구분 기호를 없애고 소수점 쉼표를 마침표로 바꾸세요.
앞자리 0이 사라짐
우편번호, 제품 코드, 계좌번호는 흔히 0으로 시작해요. CSV를 스프레드시트로 열면 “01234”는 숫자 1234로 읽혀 앞의 0이 사라져요. 파일을 저장해도 손실은 그대로 남기 때문에, 원본 시스템이 유일하게 믿을 만한 사본이에요.
식별자는 숫자처럼 보여도 텍스트예요. 계산에 쓰지 않기 때문이죠. CSV 정리 도구로 정리할 때 이런 열은 숫자 변환을 끄고, 스프레드시트가 저장한 사본 대신 원본 시스템에서 파일을 다시 내보내세요. 그다음 각 열의 데이터 타입 확인하기로 우편번호 열이 몰래 숫자로 바뀌지 않았는지 점검하세요. Excel도 CSV를 열 때 값을 바꿀 수 있으니, 결과는 일반 텍스트 보기로 확인하세요.
타입을 확인하고 프로파일링하기
정리한 뒤에는 각 열의 타입을 확인하세요. 가격 열에 “N/A” 하나만 있어도 열 전체가 텍스트로 취급되어 합계가 틀어져요. 데이터 타입 검사기는 각 열에 타입과 신뢰도 점수를 매기고, 맞지 않는 셀 목록을 보여 줘요.
그다음 열을 프로파일링하세요. CSV 열 프로파일러는 각 열의 빈칸과 이상값을 보여 줘요. 이상값은 실제 값일 수도 있지만, 다른 값보다 1000배 큰 가격처럼 잘못된 입력일 수도 있어요. 이런 오류는 소수점이나 구분 기호를 잘못 찍어서 생기는 경우가 많아요.
예외 상황
- 따옴표 안의 줄바꿈. 따옴표로 묶인 값에는 줄바꿈이 들어갈 수 있어요. 줄 단위로 파일을 나누는 도구는 그 행을 둘로 쪼개니, 따옴표로 묶인 필드를 이해하는 읽기 도구를 쓰세요.
- 세미콜론 파일. 많은 유럽 스프레드시트는 쉼표가 소수점인 로케일 때문에 CSV를 세미콜론으로 저장해요. 열을 읽기 전에 구분자를 확인하세요.
- 원본 보관. 정리한 결과는 새 파일에 쓰고, 내보낸 원본은 그대로 두세요.
순서 체크리스트
- 원본 내보내기 파일의 사본을 보관하세요.
- 불필요한 공백과 보이지 않는 문자를 지우세요. 가능하면 깨진 글자는 원본에서 고치세요.
- 제목 행을 지우고, 헤더 이름을 확인하고, 모든 행의 필드 수가 같은지 확인하세요.
- 중복을 찾고, 어느 버전을 남길지 정하세요.
- 날짜를 연-월-일로 바꾸고, 구분 기호를 없애고, 식별자는 텍스트로 만드세요.
- 각 열의 타입을 확인한 뒤, 빈칸과 이상값을 프로파일링하세요.
빠른 답변
값이 같아 보이는데 왜 조회가 실패하나요?
보통 셀 중 하나에 공백, 줄바꿈 금지 공백, 또는 바이트 순서 표지가 들어 있기 때문이에요. 숨은 문자를 지우고 다시 해 보세요.
날짜가 왜 다른 값으로 바뀌나요?
프로그램이 일-월 또는 월-일 순서의 날짜를 잘못된 순서로 읽었거나, 텍스트를 자체 날짜 형식으로 변환했기 때문이에요. 먼저 날짜를 직접 연-월-일로 바꾸세요.
AI 도움을 받아 영어 원문에서 번역했어요.
댓글
아직 댓글이 없어요. 첫 댓글을 남겨 보세요.


