CSV JSON 변환 tabular
헤더 행이 있는 CSV를 JSON 배열로, JSON 배열을 CSV로 변환합니다.
이 도구가 하는 일
CSV는 쉼표로 값을 구분하는 표 형식 데이터입니다. 엑셀과 스프레드시트에서 바로 열리기 때문에 기획자나 운영팀과 데이터를 주고받을 때 가장 널리 쓰입니다. 반면 개발에서 실제로 다루는 형식은 JSON인 경우가 많아 두 형식 사이의 변환이 자주 필요합니다.
이 도구는 CSV의 첫 줄을 헤더로 보고 각 열 이름을 JSON 객체의 키로 사용합니다. 데이터 행 하나가 객체 하나가 되고, 전체는 객체들의 배열이 됩니다. 반대 방향에서는 JSON 배열의 키를 모아 헤더 행을 만들고 각 객체를 한 줄씩 배치합니다.
값 안에 쉼표나 따옴표, 줄바꿈이 들어 있는 경우 CSV는 해당 값을 큰따옴표로 감싸고 내부의 따옴표는 두 번 반복해 표기하는 규칙(RFC 4180)을 씁니다. 이 규칙을 따르지 않으면 열이 밀려서 데이터가 어긋납니다.
언제 사용하나요
운영팀에서 받은 엑셀 데이터를 API 테스트용 JSON으로 바꿀 때, 데이터베이스 조회 결과를 스프레드시트로 공유할 형태로 만들 때, 목업 데이터를 만들거나 마이그레이션 대상 데이터를 검토할 때 사용합니다.
입력과 출력 예시
name,age,city
alice,30,seoul
bob,25,busan
[{"name":"alice","age":"30","city":"seoul"},{"name":"bob","age":"25","city":"busan"}]
첫 줄이 키가 되고 각 행이 객체 하나가 됩니다.
[{"id":1,"memo":"a,b"}]
id,memo
1,"a,b"
값에 쉼표가 있으면 큰따옴표로 감싸야 열이 밀리지 않습니다.
주의사항
CSV에는 타입 정보가 없어 모든 값이 문자열로 변환됩니다. 숫자나 불리언이 필요하면 변환 후 직접 처리해야 합니다. 값 안의 쉼표는 반드시 따옴표로 감싸야 하며, 그렇지 않으면 열이 어긋납니다. 또한 엑셀에서 CSV를 열면 0으로 시작하는 값이나 긴 숫자가 자동으로 변형될 수 있으므로, 전화번호나 우편번호, 큰 ID 값을 다룰 때는 주의해야 합니다. 한글이 포함된 CSV를 엑셀에서 열 때 깨진다면 UTF-8 BOM 문제일 수 있습니다.
자주 묻는 질문
숫자가 따옴표로 감싸집니다.
CSV에는 타입이 없어 모든 값을 문자열로 읽기 때문입니다. JSON으로 변환한 뒤 필요한 필드만 숫자로 바꿔 사용하십시오.
엑셀에서 한글이 깨집니다.
UTF-8로 저장된 CSV를 엑셀이 다른 인코딩으로 열어서 생기는 문제입니다. 엑셀의 데이터 가져오기 기능에서 UTF-8을 지정하거나 BOM이 포함된 형태로 저장하면 해결됩니다.