RUNWEBTOOLS
한국어
데이터 포맷 & 인코딩

CSV 포맷 설명 + 흔한 문제들

업데이트 2026-07-06

CSV는 스프레드시트와 데이터 내보내기의 만국 공통어입니다 — 텍스트 에디터로 열 만큼 단순하고, 표 형식 데이터를 다루는 모든 도구가 지원합니다. 하지만 그 단순함은 깔끔한 내보내기를 엉망으로 만드는, 놀랍도록 흔한 함정 몇 가지를 숨기고 있습니다. CSV가 정말 어떻게 동작하는지, 그리고 흔한 문제를 피하는 법을 소개합니다.

CSV란

CSV는 comma-separated values(쉼표로 구분된 값)의 약자입니다. 각 줄이 한 행이고, 한 행 안에서는 쉼표가 열을 구분합니다. 첫 줄은 보통 각 열의 이름을 붙이는 헤더입니다.

name,email,age
Ada Lovelace,ada@example.com,36
Alan Turing,alan@example.com,41

이게 전부입니다 — 그리고 바로 그래서 엣지 케이스가 무는 것입니다.

흔한 문제들

값 안의 쉼표

값 자체가 쉼표를 담고 있다면, 예를 들어 Lovelace, Ada처럼? 규칙이 없으면 그 한 필드가 두 열처럼 보일 것입니다. 해법: 쉼표를 담은 필드를 큰따옴표로 감쌉니다.

"Lovelace, Ada",ada@example.com,36

값 안의 따옴표

따옴표로 감싼 필드 안의 큰따옴표는 그것을 두 번 겹쳐 이스케이프합니다: "She said ""hi"""She said "hi"를 나타냅니다.

값 안의 줄바꿈

필드는 따옴표로 감싸면 줄바꿈조차 담을 수 있습니다 — 그래서 CSV를 손으로 파싱할 때 “한 줄 = 한 행”이라고 늘 가정할 수는 없습니다.

구분자가 항상 쉼표는 아니다

쉼표가 소수점 구분자인 지역에서는 스프레드시트가 종종 세미콜론(;)이나 탭으로 대신 내보냅니다. 파일이 하나의 큰 열로 열린다면, 대개 구분자가 안 맞아서입니다.

인코딩과 BOM

CSV는 인코딩 정보를 담지 않아서, 읽는 쪽이 잘못 추측하면 악센트 문자가 깨질 수 있습니다 — UTF-8로 저장하세요. 일부 프로그램은 맨 앞에 보이지 않는 바이트 순서 표시(BOM)를 추가하기도 하는데, 이게 첫 번째 열 헤더를 망가뜨릴 수 있습니다. (이유는 문자 인코딩 가이드를 참고하세요.)

CSV 데이터 다루기

CSV는 그저 텍스트 줄이라, 일반 텍스트 도구가 많은 정리를 해냅니다: 줄 정렬 도구로 행을 순서대로 놓고, 중복 줄 제거로 반복을 없애고, 텍스트 비교로 두 내보내기 사이에 무엇이 바뀌었는지 정확히 확인하세요. 구조적 변환이 필요하다면, 데이터를 먼저 JSON으로 바꾸는 편이 더 깔끔한 길일 때가 많습니다.

데이터 포맷 & 인코딩 더 보기

데이터 포맷 & 인코딩 가이드 전체 보기 →

이 가이드에서 언급한 도구