CSV를 열고 나누는 방식을 고르세요. 파일당 정해진 행 수, 최대 파일 크기, 파일 개수, 또는 한 열의 값마다 파일 하나로 나눌 수 있습니다. 나뉜 파일은 원본 레코드를 바이트 단위로 그대로 복사하고 맨 위에 머리글을 반복하므로, 따옴표 처리, 줄 바꿈 문자, 인코딩, BOM이 원래대로 유지됩니다. 나뉠 파일 목록을 미리 본 뒤 하나씩 받거나 ZIP으로 한꺼번에 받으세요. 25 MB가 넘는 파일도 나눌 수 있으며, 업로드되는 것은 없습니다.
CSV 파일을 나누는 방법
.csv,.tsv,.txt파일을 열거나 도구 위에 끌어다 놓거나 행을 붙여넣으세요. 첫 행은 머리글로 봅니다.- 나누는 기준을 고르고 행 수, 최대 크기(바이트), 파일 개수, 또는 기준 열을 입력하세요.
- 나뉠 파일을 미리 보며 파일마다 이름, 행 수, 크기를 확인한 다음, 파일 하나만 받거나 전부를 ZIP 하나로 받으세요.
나뉜 파일의 이름은 원본 파일 이름을 따릅니다. orders.csv는 orders-part-001.csv, orders-part-002.csv…가 됩니다. .tsv 파일은 .tsv 확장자를 유지하며, ZIP 파일 이름은 orders-parts.zip입니다.
나누는 방식
| 파일당 행 수 | 모든 파일에 이 수만큼 데이터 행을 넣고, 마지막 파일에는 남은 행을 넣습니다. 머리글은 세지 않습니다. |
|---|---|
| 파일당 최대 크기 | 다음 레코드를 넣으면 크기를 넘게 될 때까지 온전한 레코드로 채웁니다. 크기는 머리글과 BOM을 포함한 바이트 수로 셉니다. 레코드를 반으로 자르는 일은 없으므로, 레코드 하나가 한도보다 크면 그 레코드를 알려 주는 오류와 함께 멈춥니다. |
| 파일 개수 | 먼저 레코드 수를 센 다음, 모든 파일에 같은 수의 행을 올림해서 넣습니다(최대 1,000개 파일). 올림 때문에 요청한 것보다 파일이 적게 나올 수 있습니다. 5행을 4개 파일로 나누면 2, 2, 1행짜리 파일이 됩니다. |
| 열 값마다 파일 하나 | 고른 열의 값이 정확히 같은 행끼리 묶고, 값마다 처음 나온 순서대로 orders-West.csv, orders-East.csv… 파일을 만듭니다. 각 파일 안에서 행은 원래 순서를 유지합니다. 서로 다른 값은 최대 1,000개입니다. |
| 모든 파일에 머리글 반복 | 기본으로 켜져 있습니다. 나중에 파일들을 다시 이어 붙일 예정이라면, 꺼서 첫 파일에만 머리글을 남기세요. |
까다로운 데이터의 처리 방식
- 구분 기호나 줄 바꿈이 들어 있는 따옴표 값은 RFC 4180에 따라 읽으므로 자기 레코드 안에 남습니다. 여러 줄짜리 주소가 두 파일로 갈라지는 일은 없습니다.
- 레코드는 다시 해석하거나 다시 쓰지 않고 원래 바이트 그대로 복사하므로 따옴표, 줄 바꿈 문자, 앞자리 0이 정확히 유지됩니다. 파일 맨 앞의 UTF-8 BOM은 나뉜 파일마다 맨 앞에 다시 쓰므로, Excel은 각 파일을 여전히 UTF-8로 인식합니다.
- 레코드 사이의 빈 줄은 건너뜁니다. 마지막 레코드에 줄 바꿈이 없으면 원본 파일의 줄 바꿈 문자를 붙입니다.
- 열 값은 정확히 비교하므로
West와west는 다른 파일이 됩니다. 많은 파일 시스템이 대소문자를 구분하지 않기 때문에, 두 번째 파일은 첫 번째 파일을 덮어쓰지 않도록orders-west-2.csv라는 이름이 됩니다. - 파일 이름에서
/ \ : * ? " < > |같은 문자는_로 바뀌고, 이름은 60자에서 잘리며, 빈 값은orders-empty.csv로 씁니다. 각 파일이 어떤 값을 담는지는 미리 보기의 값 열에서 정확히 확인하세요.
나눌 수 있는 인코딩
나누기는 바이트를 직접 다루므로 UTF-8과 Windows-1252 같은 1바이트 인코딩에서 안전합니다. UTF-16 파일은 이 방식으로 나눌 수 없으니 먼저 CSV 형식 변경 등으로 UTF-8로 저장하세요. Shift_JIS, GB18030, GBK, Big5 파일은 구분 기호가 쉼표, 세미콜론, 탭이면 나눌 수 있지만 세로 막대(|)면 안 됩니다. 이런 인코딩에서는 문자 안에 세로 막대와 같은 바이트가 들어 있을 수 있기 때문입니다. 나눌 수 없는 파일이면 시작하기 전에 알려 줍니다.
문제 해결
대용량 파일과 개인정보 보호
나누기는 25 MB 한도에 묶이지 않습니다. 더 큰 파일은 처음 200행만 미리 보여 주고, 나눌 때는 파일 전체를 8 MB 조각 단위로 읽으므로 메모리 사용량이 적습니다. 나뉜 파일은 다운로드하기 전까지 브라우저의 파일 데이터로 보관되므로, 실제 한도는 브라우저가 쓸 수 있는 여유 저장 공간입니다.
나누기는 이 탭의 백그라운드 워커에서 실행되며 취소로 멈출 수 있습니다. 파일은 서버로 보내지 않습니다. 나뉜 파일을 다시 합치려면 CSV 파일 합치기를, 자르는 대신 파일 크기를 줄이려면 CSV 압축을 사용하세요.
예시
CRLF 줄 바꿈(여기서는 일반 줄 바꿈으로 표시)과 여러 줄 메모가 있는 작은 주문 내보내기 파일을, 머리글을 반복하며 2행씩 나눈 결과입니다. 따옴표 안의 줄 바꿈은 주문 A2 안에 남고, 입력에서 줄 바꿈이 없던 마지막 레코드에는 파일의 CRLF가 붙습니다.
order_id,region,note A1,West,ok A2,East,"two lines" A3,West,"a, b" A4,,late A5,east,ok
orders-part-001.csv (2 rows) order_id,region,note A1,West,ok A2,East,"two lines" orders-part-002.csv (2 rows) order_id,region,note A3,West,"a, b" A4,,late orders-part-003.csv (1 row) order_id,region,note A5,east,ok
자주 묻는 질문
나뉜 파일이 모두 Excel에서 제대로 열리나요?
원본이 제대로 열렸다면 그렇습니다. 나뉜 파일마다 머리글, 구분 기호, 인코딩이 같고, 원본에 UTF-8 BOM이 있었다면 그것도 유지합니다.
머리글 행이 없는 파일을 열 기준으로 나눌 수 있나요?
안 됩니다. 첫 행은 항상 머리글로 읽고, 기준 열은 머리글 이름으로 고릅니다. 먼저 CSV 편집기 등에서 머리글 행을 추가하세요.
요청한 것보다 파일이 적게 나온 이유는 무엇인가요?
파일 개수 방식은 모든 파일에 같은 행 수를 올림해서 넣으므로, 마지막 파일에 이르기 전에 행이 바닥날 수 있습니다. 10행을 4개 파일로 나누면 3, 3, 3, 1행이 되고, 6개 파일로 나누면 2행짜리 파일 5개가 됩니다.