본문 바로가기

엑셀 CSV 변환

엑셀이나 OpenDocument 통합 문서의 어떤 시트든 깔끔한 CSV 파일로 바꿉니다. Excel에 보이는 값 그대로, 또는 원래 숫자와 ISO 날짜로, 가져올 프로그램이 원하는 구분 기호와 인코딩에 맞춰 저장합니다.

  • 저장되지 않음
  • 대기열 없음, 기다림 없음
  • 회원가입 없음, 워터마크 없음

사용 방법

1

통합 문서 추가

.xlsx, .xls, .ods 파일을 끌어다 놓으세요. 모든 시트가 탭으로 표시되고 실시간 미리보기가 나옵니다.

2

형식 선택

쉼표, 세미콜론, 탭 중에서 고르고, UTF-8 또는 Excel에서 다시 열어도 악센트 문자가 깨지지 않는 BOM 포함 UTF-8을 고르고, 값을 표시된 대로 쓸지 원래 값으로 쓸지 고릅니다.

3

다운로드

시트 하나를 .csv 파일로, 또는 모든 시트를 한 번에 ZIP으로 받습니다.

CSV에 실제로 들어가는 내용

“Excel에 표시된 대로”는 셀이 어떻게 보이는지 Excel에 묻는 방식이 아닙니다. 흔히 쓰는 라이브러리가 실제로 쓰이는 수백 가지 서식을 잘못 처리하기 때문에, Excel 서식 코드를 직접 구현해 숫자 서식을 여기서 다시 렌더링합니다. 예외는 표시 텍스트를 이미 담고 있는 파일입니다. OpenDocument 시트나, 웹 앱이 .xls라는 이름을 붙이는 HTML 표가 그렇고, 이때는 저장된 텍스트를 그대로 씁니다. 어느 모드에서도 날짜가 일련번호로 나가는 일은 없습니다. 통합 문서 자체의 기준일 플래그를 읽으므로, 예전 Mac용 Excel로 만든 파일은 필요한 만큼 1,462일을 옮기고, Excel이 존재한다고 믿는 날짜인 1900년 2월 29일도 정확히 제자리에 재현해 그 뒤의 모든 날짜가 하루씩 밀리지 않게 합니다.

파일을 다른 곳에 넘기기 전에 확인할 만한 기본값이 세 가지 있습니다. 구분 기호는 처음에 브라우저 로캘이 뜻하는 값으로 설정되므로, 소수점으로 쉼표를 쓰는 환경에서는 세미콜론이 제시됩니다. 줄 끝은 따로 고르지 않으면 캐리지 리턴과 라인 피드이며, 마지막 행 뒤에도 항상 줄바꿈이 있습니다. 따옴표는 최소한으로만 씁니다. 필드에 구분 기호, 따옴표, 줄바꿈, 앞뒤 공백이 있을 때만 따옴표로 감쌉니다. 한 가지 특별한 경우가 있는데, 첫 번째 셀이 “sep=”이면 Excel이 데이터를 구분 기호 지정 명령으로 착각하지 않도록 따옴표로 감쌉니다.

병합된 셀은 두 가지 방식 중 하나로 처리되며, 기본값은 더 조용한 쪽입니다. 병합 범위의 왼쪽 위 셀에만 값이 들어가고 나머지는 비어 있습니다. 불리언 값은 어느 모드든 TRUE와 FALSE로 쓰고, 오류가 든 셀은 오류 텍스트로 나갑니다. 등호로 시작하는 셀을 무력화하는 처리는 하지 않습니다. 여기서 만든 CSV는 통합 문서에 있던 텍스트를 그대로 재현하므로, 믿을 수 없는 곳에서 온 시트라면 다음에 파일을 여는 프로그램에서 그 수식은 여전히 수식입니다. 이는 이 도구가 아니라 CSV라는 형식의 특성이며, 출처를 모르는 내보내기 파일은 먼저 뷰어로 열어 봐야 하는 이유이기도 합니다.

다른 작업이 필요할 때

통합 문서는 전체를 읽으며, 파일 용량 상한은 200 MB이고, 압축된 내용이 2기가바이트를 넘게 풀린다고 주장하면 중단합니다. 그보다 크거나 정해진 일정에 따라 반복하는 작업이라면 이 페이지보다 데스크톱 도구가 답입니다. 헤드리스 모드의 LibreOffice 는 명령 하나로 시트를 CSV로 변환합니다. 수백 메가바이트짜리 추출 파일에서 나머지를 메모리에 올리지 않고 열 하나만 뽑아내려면 qsv 와 Miller 가 CSV를 스트림으로 읽고 씁니다.

그리고 받는 쪽이 사람이 아니라 데이터베이스나 파이프라인이라면, 애초에 CSV가 맞는 형식인지 물어보세요. CSV는 자신의 구분 기호도, 소수점 기호도, 인코딩도 기록할 수 없습니다. 그래서 모든 CSV 가져오기는 아무도 답할 필요가 없어야 할 세 가지 질문으로 시작합니다. Parquet은 데이터 타입을 유지하고 JSON Lines는 구조를 유지하며, 둘 다 DuckDB, pandas 등 어차피 CSV를 불러오려던 모든 도구가 바로 읽습니다.

자주 묻는 질문

제 스프레드시트가 어딘가에 저장되나요?

아니요. 통합 문서는 저장되지 않고 어디에도 전송되지 않습니다. 급여 대장, 고객 명단처럼 웹사이트에 맡기고 싶지 않은 파일이라면 중요한 점입니다.

시트가 여러 개면 어떻게 되나요?

CSV 파일에는 표 하나만 담기므로 시트마다 CSV 파일이 따로 만들어집니다. 원하는 시트를 고르거나, 모든 시트를 ZIP 하나로 함께 받으세요. 숨겨진 시트도 목록에 나오며 숨겨진 시트라고 표시됩니다.

날짜와 숫자가 Excel에서 보이는 것과 같게 나오나요?

“Excel에 표시된 대로”는 15/03/2024, 1,234.50, 12%처럼 Excel이 화면에 보여 주는 텍스트를 그대로 씁니다. Excel 자체의 “CSV로 저장”과 같은 방식입니다. “원래 숫자, ISO 날짜”는 일반 숫자와 2024-03-15 같은 ISO 8601 날짜를 쓰며, 데이터베이스와 코드가 추측 없이 읽을 수 있습니다.

CSV를 Excel에서 열면 글자가 이상하게 깨져요. 왜 그런가요?

Excel은 파일이 바이트 순서 표시(BOM)로 시작하지 않으면 CSV를 컴퓨터의 예전 지역 인코딩으로 읽습니다. “UTF-8 BOM 포함(Excel용)”을 선택하면 악센트 문자, 키릴 문자, 아랍 문자, 중국어, 이모지가 제대로 열립니다. 데이터베이스와 프로그래밍에는 일반 UTF-8이 더 좋습니다.

쉼표와 세미콜론 중 무엇을 써야 하나요?

유럽 대부분과 남미처럼 소수점을 쉼표로 쓰는 나라에서는 Excel이 필드 사이에 세미콜론을 기대합니다. 그런 곳이라면 세미콜론을, 그 밖에는 쉼표를, 데이터에 둘 다 가득하다면 탭을 고르세요.

수식, 병합된 셀, 숨겨진 행은 어떻게 되나요?

수식은 계산된 결과로 기록됩니다. 병합된 셀은 첫 번째 셀에 값을 두거나, 병합 범위의 모든 셀에 값을 반복해 넣을 수 있습니다. 숨겨진 행과 열은 빼도록 선택하지 않는 한 포함됩니다.

참고: CSV에는 값만 저장됩니다. 셀 서식, 수식, 차트, 이미지는 이 형식에 포함되지 않습니다. 비밀번호로 보호된 통합 문서는 먼저 비밀번호를 해제해야 합니다.

내 웹사이트에 이 도구 넣기

블로그, 수업 페이지, 도움말 글 어디에나 무료로 넣을 수 있습니다. 코드 한 줄만 붙여 넣으면 방문자가 페이지에서 바로 사용할 수 있습니다.