CSV 깨짐 수리 · 큰 파일 나누기
한글이 깨졌거나, 한 칸에 다 들어갔거나, 너무 커서 엑셀이 못 여는 CSV를 고칩니다. 파일은 내 컴퓨터를 떠나지 않아요.
무엇을 고칠 수 있나요
되살릴 수 있는 것
한글이 ㅁㅁㅁ나 가나처럼 깨진 것(EUC-KR 파일을 UTF-8로 읽었거나, UTF-8 파일을 서양 문자로 읽은 경우), 구분자가 세미콜론·탭이라 한 칸에 다 들어간 것. 이건 글자를 읽는 방법만 틀린 것이라 원래대로 되돌립니다. é가 é처럼 두 글자로 깨진 악센트는 파일 전체에 많이 퍼져 있을 때만 되돌립니다. Windows-1252로 저장된 서유럽어 파일의 악센트(A�o처럼 보이는 것)는 고치지 못합니다.
되살릴 수 없는 것
엑셀이 01012345678 을 1012345678 로 저장해 버렸다면 앞의 0 은 파일에 남아 있지 않습니다. 1.23E+15 도 마찬가지입니다. 찾아서 알려는 드리지만 없는 값을 지어내지는 않습니다.
다시 안 망가지게
엑셀이 또 숫자로 바꾸지 않도록 저장하는 방법을 고를 수 있습니다. 이게 우리가 할 수 있는 진짜 해결입니다.
깨진 CSV에서 되살릴 수 있는 것과 없는 것은 어떻게 갈리나요?
한글이 �나 가나로 보이거나 한 줄이 통째로 한 칸에 들어간 CSV는 대개 파일이 망가진 것이 아니라 읽는 방법이 틀린 것입니다. 이 도구는 인코딩과 구분자를 진단해 바로잡고, 엑셀이 이미 지워 버린 값은 따로 짚어 알려 줍니다. 저장할 때는 엑셀이 같은 일을 되풀이하지 않게 고를 수 있고, 너무 큰 파일은 머리글을 살린 채 나눕니다.
조금 더 자세히
되살릴 수 있는 것은 바이트가 그대로 남아 있는 경우입니다. EUC-KR(CP949) 파일을 UTF-8로 읽으면 한글이 �로 바뀌는데, 이때는 EUC-KR로 다시 읽어 복원합니다. UTF-8 파일을 서양 문자(Latin-1·CP1252)로 읽은 채 저장해 가나처럼 된 경우는 글자를 원래 바이트로 되돌려 UTF-8로 다시 읽으며, 그런 문자가 전체의 5%를 넘고 되돌린 결과에 깨진 글자가 없을 때만 적용합니다. 구분자는 비어 있지 않은 처음 20줄에서 따옴표 밖의 쉼표·세미콜론·탭·세로줄을 세어, 많이 나오면서 줄마다 개수가 고른 기호로 정합니다.
되살릴 수 없는 것은 값이 이미 바뀐 채 저장된 경우입니다. 엑셀이 01012345678을 숫자로 읽고 저장하면 파일에는 1012345678만 남고, 1.23E+15로 저장된 번호는 뒷자리가 없습니다. 이 도구는 대부분 같은 자릿수인데 일부만 딱 한 자리 짧은 숫자 열과 지수 표기 값을 찾아 경고하되, 없는 값을 지어내지는 않습니다. 대신 앞이 0인 번호를 글자로 지키기를 켜면 0으로 시작하거나 12자리 이상인 숫자를 ="01012345678" 형태로 감싸 저장해, 엑셀이 그 값을 글자로 읽게 합니다.
이렇게 쓰세요
- CSV·TSV·TXT 파일을 끌어다 놓거나 파일 선택으로 고릅니다. 붙여넣기와 엑셀 파일은 받지 않습니다.
- 진단 결과에서 인코딩·구분자 판단과 경고를 읽고, 미리보기 (앞 20줄)로 열이 제대로 나뉘었는지 확인합니다.
- 저장 방법에서 엑셀로 열 파일이면 앞이 0인 번호를 글자로 지키기를 켭니다. 엑셀용 BOM 붙이기는 기본으로 켜져 있습니다.
- 큰 파일은 나누기에서 줄 수로(기본 50000줄)나 용량으로(기본 10MB)를 고른 뒤 저장합니다. 결과는 쉼표로 구분된 UTF-8 CSV이고 이름 뒤에 _수정이 붙습니다.
이럴 때 유용해요
자주 막히는 지점
팁 원본 내보내기 파일이 남아 있다면, 엑셀로 한 번도 열어 저장하지 않은 그 파일을 넣으세요. 앞자리 0과 긴 번호가 온전한 상태에서 글자로 지켜 저장할 수 있습니다.
FAQ
한글이 ㅁㅁㅁ 나 가나 로 보여요
둘은 원인이 다릅니다. 앞은 EUC-KR 파일을 UTF-8 로 읽어서, 뒤는 UTF-8 파일을 서양 문자로 읽어서 그렇습니다. 둘 다 바이트는 멀쩡하므로 되돌릴 수 있고, 이 도구가 자동으로 알아내 고칩니다.
한 줄이 통째로 한 칸에 들어가요
구분자가 쉼표가 아니라 세미콜론이나 탭인 경우입니다. 유럽 엑셀은 세미콜론으로 저장합니다. 이 도구가 줄마다 개수를 세어 진짜 구분자를 찾아냅니다.
앞자리 0 이 사라졌어요
엑셀이 열면서 숫자로 바꿔 버린 것이라 파일에 이미 없습니다. 되살릴 수 없습니다. 원본이 있다면 다시 받아서 이 도구로 여시고, "글자로 지키기"를 켜서 저장하세요.
몇 줄까지 되나요
브라우저 메모리가 허용하는 만큼입니다. 수십만 줄도 됩니다. 엑셀이 못 여는 크기라면 "나누기"로 쪼개서 저장하세요.
파일이 서버로 가나요
가지 않습니다. 읽기·고치기·저장이 전부 브라우저 안에서 이루어집니다.