CSV를 JSON으로 변환하는 방법: 완벽 가이드
CSV 파일은 어디에나 있습니다 — 스프레드시트, 데이터베이스, 분석 도구에서 내보냅니다. 하지만 최신 애플리케이션, API, 프론트엔드 프레임워크는 JSON으로 작동합니다. 이러한 포맷 간 변환은 개발자와 데이터 분석가의 일상적인 작업입니다.
도구를 이용한 빠른 변환
가장 빠른 방법: CSV to JSON 변환기에 CSV를 붙여넣으세요. 구분자를 자동 감지하고, 인용된 필드를 처리하며, 깔끔한 JSON을 즉시 출력합니다. 모든 처리는 브라우저에서 이루어지며 — 서버에 데이터가 업로드되지 않습니다.
변환 이해하기
CSV 행은 JSON 객체가 됩니다. 열 헤더는 키가 되고, 셀 값은 값이 됩니다.
입력 CSV:
name,email,age
Alex,alex@example.com,30
Jordan,jordan@example.com,25
출력 JSON:
[
{"name": "Alex", "email": "alex@example.com", "age": "30"},
{"name": "Jordan", "email": "jordan@example.com", "age": "25"}
]
age가 문자열인 것에 주목하세요. CSV에는 타입 정보가 없습니다 — 모든 것이 텍스트입니다. 타입 변환을 별도로 처리해야 할 수 있습니다.
변환 방법
JavaScript 사용
function csvToJson(csv) {
const lines = csv.trim().split('\n');
const headers = lines[0].split(',');
return lines.slice(1).map(line => {
const values = line.split(',');
return headers.reduce((obj, header, i) => {
obj[header.trim()] = values[i]?.trim();
return obj;
}, {});
});
}
Python 사용
import csv, json
with open('data.csv') as f:
reader = csv.DictReader(f)
data = list(reader)
with open('data.json', 'w') as f:
json.dump(data, f, indent=2)
일반적인 문제 처리
값 내의 쉼표
쉼표를 포함하는 값은 인용부호로 감싸야 합니다: "Smith, John". CSV to JSON 변환기는 인용된 필드를 자동으로 처리합니다.
결측값
빈 셀은 필요에 따라 JSON에서 빈 문자열이 아닌 null이 되어야 합니다.
대용량 파일
10MB 이상의 파일에는 스트리밍 접근 방식이나 커맨드 라인 도구를 고려하세요. 변환기는 브라우저에서 대용량 파일을 효율적으로 처리합니다.
평탄한 CSV에서 중첩 JSON
때때로 평탄한 CSV에서 중첩된 JSON이 필요합니다. 헤더에 점 표기법을 사용하고 (address.city, address.state) 프로그래밍 방식으로 변환하세요.
출력 검증
변환 후, JSON 유효성 검사기로 JSON을 검증하여 출력이 올바른 형태인지 확인하세요. 대규모 데이터셋의 경우 원본 CSV와 비교하여 몇 개의 레코드를 점검하세요.
자주 묻는 질문
CSV에서 JSON 변환은 데이터 타입을 보존하나요?
아닙니다. CSV는 타입 정보가 없는 일반 텍스트입니다. 숫자, 불리언, 날짜 모두 문자열이 됩니다. 타입 변환 로직을 별도로 추가해야 합니다.
다른 구분자를 가진 CSV 파일은 어떻게 처리하나요?
탭으로 구분된 (TSV), 세미콜론으로 구분된, 파이프로 구분된 파일이 일반적입니다. CSV to JSON 변환기는 일반적인 구분자를 자동 감지합니다.
관련 리소스
- CSV vs JSON vs XML — 적합한 데이터 포맷 선택
- JSON 포맷팅 모범 사례 — 변환된 JSON을 올바르게 포맷팅
- CSV to JSON 변환기 — CSV를 JSON으로 즉시 변환
- CSV 편집기 — 변환 전 CSV 데이터 편집