CSV JSON 변환 사용 방법
- 변환 방향(CSV → JSON 또는 JSON → CSV)을 고릅니다.
- 입력 칸에 내용을 붙여 넣거나 파일 열기로 .csv·.tsv·.json 파일을 불러옵니다. EUC-KR로 저장된 한글 CSV도 자동으로 인식합니다.
- 구분자는 보통 자동 감지로 충분합니다. 첫 줄이 열 제목이 아니라면 "첫 줄은 제목" 체크를 끕니다.
- 변환하기를 누른 뒤 결과를 복사하거나 파일로 저장합니다. CSV는 엑셀에서 한글이 깨지지 않도록 BOM이 붙은 UTF-8로 저장됩니다.
CSV를 JSON으로 바꾸면 어떤 모양이 되나요?
첫 줄을 제목으로 쓰면 각 행이 "열 제목": 값 형태의 객체가 되고, 전체는 객체의 배열이 됩니다.
| CSV | JSON 결과 |
|---|---|
이름,나이김민수,31 | [{"이름": "김민수", "나이": 31}] |
"숫자 자동 변환"을 켜면 31처럼 숫자로만 된 칸은 숫자 형식으로, true·false는 불리언으로 바꿉니다. 단, 0으로 시작하는 값(우편번호 04524, 전화번호 010…)은 앞자리 0이 사라지지 않도록 문자열로 그대로 둡니다. 제목이 비어 있는 열은 "열3"처럼 이름을 붙이고, 같은 제목이 두 번 나오면 뒤쪽에 _2를 붙입니다.
JSON을 CSV(엑셀)로 바꿀 때의 규칙
- 객체 배열이면 모든 객체에 나오는 키를 모아 열 제목으로 씁니다. 어떤 객체에 없는 키는 빈칸이 됩니다.
- 한 단계 안쪽의 객체는
주소.도시처럼 점으로 이은 열로 펼칩니다. 더 깊은 값이나 배열은 JSON 문자열 그대로 한 칸에 넣습니다. - 배열의 배열(
[[1,2],[3,4]])은 제목 없이 행과 열로 그대로 옮깁니다. - 값에 쉼표, 큰따옴표, 줄바꿈이 있으면 RFC 4180 규칙에 따라 큰따옴표로 감싸고 내부 따옴표는 두 번 씁니다. 엑셀과 구글 시트가 이 규칙을 그대로 읽습니다.
엑셀에서 CSV 한글이 깨질 때 해결 방법
엑셀은 BOM(파일 앞의 보이지 않는 표시)이 없는 UTF-8 CSV를 열 때 한글을 깨진 글자로 보여 주는 경우가 많습니다. 툴집에서 저장한 CSV는 UTF-8 BOM을 붙여 저장하므로 더블클릭으로 열어도 한글이 정상으로 보입니다.
반대로 예전 엑셀에서 "CSV(쉼표로 분리)"로 저장한 파일은 EUC-KR(CP949)인 경우가 많습니다. 이 도구는 파일을 열 때 UTF-8로 읽을 수 없으면 자동으로 EUC-KR로 읽어서 한글이 깨지지 않습니다. 텍스트 파일의 인코딩 자체를 바꾸고 싶다면 텍스트 인코딩 변환 도구를 이용하세요.
엑셀에서 숫자가 1.23E+11처럼 바뀌거나 앞자리 0이 사라지는 것은 CSV 파일 문제가 아니라 엑셀이 열 때 자동으로 형식을 바꾸기 때문입니다. 이런 열은 엑셀의 "데이터 > 텍스트/CSV에서" 가져오기로 열 형식을 텍스트로 지정하면 그대로 유지됩니다.