파일이 서버로 업로드되지 않습니다 = 고객 명단도 안전합니다

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" 형태로 감싸 저장해, 엑셀이 그 값을 글자로 읽게 합니다.

이렇게 쓰세요

이럴 때 유용해요

거래처 주문서EUC-KR로 저장돼 맥이나 웹 시스템에서 한글이 깨지는 주문 CSV를 UTF-8로 되살립니다.
유럽식 세미콜론 CSV해외 서비스가 세미콜론으로 내보내 한 칸에 뭉친 데이터를 쉼표 CSV로 다시 씁니다.
엑셀 행 한도를 넘는 로그한 시트의 한도인 1,048,576행을 넘는 CSV를 머리글이 붙은 여러 조각으로 나눠 각각 엽니다.
번호 열 지키기사번·우편번호·카드 번호가 든 CSV를 엑셀에서 열어도 0이나 뒷자리가 사라지지 않게 저장합니다.

자주 막히는 지점

나눠 저장했더니 파일이 여러 번 내려받아집니다.조각은 압축 파일 하나가 아니라 이름_수정_1.csv, 이름_수정_2.csv처럼 CSV 파일로 하나씩 내려받아집니다. 브라우저가 여러 파일 다운로드를 허용할지 물으면 허용해야 모든 조각이 받아집니다.
다른 프로그램에서 값이 ="0101..."로 보입니다.글자로 지키기는 엑셀을 위한 표기입니다. 데이터베이스나 분석 도구에 넣을 파일이라면 이 옵션을 끄고 저장하세요.
앞자리 0이 사라졌는데 경고가 뜨지 않습니다.경고는 자릿수 차이로 흔적을 찾습니다. 모두 010으로 시작하던 휴대폰 번호처럼 전부 똑같이 한 자리씩 잃은 열은 차이가 없어 잡히지 않을 수 있습니다. 진단 결과 끝의 안내대로 미리보기를 직접 확인하세요.
올린 시스템이 첫 번째 열 이름을 못 알아봅니다.BOM을 모르는 시스템은 맨 앞 세 바이트를 첫 열 이름의 일부로 받아들입니다. 엑셀이 아닌 시스템에 올릴 파일이라면 엑셀용 BOM 붙이기를 끄고 저장하세요.

팁 원본 내보내기 파일이 남아 있다면, 엑셀로 한 번도 열어 저장하지 않은 그 파일을 넣으세요. 앞자리 0과 긴 번호가 온전한 상태에서 글자로 지켜 저장할 수 있습니다.

FAQ

한글이 ㅁㅁㅁ 나 가나 로 보여요

둘은 원인이 다릅니다. 앞은 EUC-KR 파일을 UTF-8 로 읽어서, 뒤는 UTF-8 파일을 서양 문자로 읽어서 그렇습니다. 둘 다 바이트는 멀쩡하므로 되돌릴 수 있고, 이 도구가 자동으로 알아내 고칩니다.

한 줄이 통째로 한 칸에 들어가요

구분자가 쉼표가 아니라 세미콜론이나 탭인 경우입니다. 유럽 엑셀은 세미콜론으로 저장합니다. 이 도구가 줄마다 개수를 세어 진짜 구분자를 찾아냅니다.

앞자리 0 이 사라졌어요

엑셀이 열면서 숫자로 바꿔 버린 것이라 파일에 이미 없습니다. 되살릴 수 없습니다. 원본이 있다면 다시 받아서 이 도구로 여시고, "글자로 지키기"를 켜서 저장하세요.

몇 줄까지 되나요

브라우저 메모리가 허용하는 만큼입니다. 수십만 줄도 됩니다. 엑셀이 못 여는 크기라면 "나누기"로 쪼개서 저장하세요.

파일이 서버로 가나요

가지 않습니다. 읽기·고치기·저장이 전부 브라우저 안에서 이루어집니다.