표로 잘 정리된 CSV를 가지고 있는데, 갑자기 "이거 JSON으로 바꿔서 달라"는 요청을 받고 어디서부터 손대야 할지 막막하셨을 수 있습니다.
개발이나 데이터 작업을 하다 보면 이런 변환이 은근히 자주 필요합니다. 다행히 생각보다 어렵지 않습니다.
오늘은 코드를 잘 모르는 분도 쓸 수 있는 방법부터, 양이 많을 때 쓰는 파이썬 방법까지 차례로 정리하겠습니다. 상황에 맞는 것을 골라 따라오시면 됩니다.
먼저 두 형식이 어떻게 다른지
변환을 이해하려면 둘의 생김새 차이를 아는 게 도움이 됩니다. CSV는 표처럼 줄을 맞춰 적는 형식이고, JSON은 이름표를 붙여 값을 담는 형식입니다.
같은 데이터를 두 형식으로 보면 이렇게 다릅니다. 먼저 CSV입니다.
이름,나이,도시
김민수,29,서울
이 데이터를 JSON으로 옮기면 아래처럼 항목마다 이름표(키)가 붙습니다.
[
{
"이름": "김민수",
"나이": 29,
"도시": "서울"
}
]
즉 변환이란 CSV의 헤더를 JSON의 이름표로 옮기고, 각 행을 묶음 하나로 만드는 작업입니다. 원리를 알면 어떤 도구를 써도 결과가 왜 그렇게 나오는지 이해됩니다.
방법 1. 변환 도구 사이트 이용하기 (코드 없이)
가장 손쉬운 방법입니다. 'CSV to JSON' 같은 키워드로 검색하면 웹에서 바로 변환해 주는 도구들이 있습니다. CSV 내용을 붙여 넣거나 파일을 올리면 JSON으로 바꿔 줍니다.
다만 한 가지 주의할 점이 있습니다. 회원 정보나 회사 내부 자료처럼 민감한 데이터는 외부 사이트에 올리지 않는 것이 안전합니다. 어디에 저장되고 처리되는지 알기 어렵기 때문입니다. 민감한 자료라면 아래의 내 컴퓨터에서 처리하는 방법을 권합니다.
방법 2. 엑셀과 구글 스프레드시트로 가공하기
양이 적다면 표 프로그램에서 직접 만들 수도 있습니다. 다만 JSON 형식을 손으로 맞추는 건 번거롭고 실수가 잦습니다. 데이터가 몇 줄 수준일 때만 임시로 쓰는 것을 권합니다. 본격적인 작업에는 다음의 파이썬 방법이 훨씬 정확합니다.
방법 3. 파이썬으로 변환하기 (양이 많을 때 추천)
줄 수가 많거나 반복 작업이라면 파이썬이 가장 확실합니다. 별도 설치 없이 파이썬에 기본 포함된 기능만으로도 됩니다. 아래 코드는 CSV를 읽어 JSON 파일로 저장합니다.
import csv
import json
rows = []
with open("data.csv", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
rows.append(row)
with open("data.json", "w", encoding="utf-8") as f:
json.dump(rows, f, ensure_ascii=False, indent=2)
여기서 DictReader는 CSV 첫 줄(헤더)을 자동으로 이름표로 사용합니다. ensure_ascii=False는 한글이 깨지지 않게 그대로 저장하라는 뜻이고, indent=2는 보기 좋게 줄을 맞춰 줍니다.
실행 중 한글이 깨진다면 encoding 값을 cp949로 바꿔 보세요. 어떤 값이 맞는지는 원본 CSV를 만든 환경에 따라 다를 수 있습니다.
변환할 때 자주 빠지는 함정
변환 자체보다 데이터 형태에서 막히는 경우가 많습니다. 숫자처럼 보여도 CSV에서는 모두 글자로 읽히기 때문에, JSON에서도 따옴표가 붙은 문자로 들어갈 수 있습니다. 숫자로 다뤄야 한다면 변환 뒤 따로 형 변환을 해 줘야 합니다. 또 빈 칸이 많은 CSV는 JSON에서 빈 문자열로 들어가니, 필요하면 정리하는 과정을 한 단계 더 두는 것이 좋습니다.
오늘 바로 적용: 데이터가 민감하지 않고 몇 줄뿐이면 변환 사이트를, 양이 많거나 내부 자료면 위 파이썬 코드를 복사해 쓰세요. 가장 안전하고 빠른 선택입니다.
여기까지 CSV의 정의, 여는 법, 엑셀과의 차이, 한글 깨짐, JSON 변환을 한 묶음으로 다뤘습니다. 다음 시리즈에서는 JSON 자체를 깊이 살펴보겠습니다.


'파일 형식 백과사전' 카테고리의 다른 글
| CSV 파일 여는 방법 5가지 (윈도우, 맥엑셀, 구글, 메모장) (0) | 2026.06.13 |
|---|---|
| JSON 파일이란? 개발자가 가장 많이 쓰는 데이터 형식 쉽게 이해하기 (0) | 2026.06.13 |
| CSV 파일이란? 엑셀처럼 보이는데 엑셀이 아닌 이유 (0) | 2026.06.13 |