JSON 데이터 변환 방법 총정리 - CSV 엑셀 XML 변환부터 한글 깨짐 해결까지
JSON을 CSV, 엑셀, XML로 바꾸는 가장 쉬운 방법을 정리했습니다. 무료 온라인 도구부터 파이썬 코드 예시, 한글 깨짐 해결법까지 실무에서 바로 쓰는 변환 노하우를 확인해 보세요.
![]()
API에서 받아온 JSON 파일을 엑셀로 정리해 달라는 요청, 한 번쯤 받아보셨을 겁니다. 중괄호와 대괄호가 가득한 화면을 처음 보면 막막합니다. 하지만 JSON 데이터 변환 방법은 생각보다 단순합니다. 크게 온라인 도구, 엑셀 내장 기능, 코드 세 가지 경로가 있고, 어떤 것을 골라도 몇 분이면 끝납니다. 상황별로 가장 빠른 방법을 하나씩 정리해 드리겠습니다.
JSON 데이터 변환이 필요한 순간
JSON은 서버와 프로그램이 데이터를 주고받을 때 쓰는 표준 형식입니다. 기계가 읽기에는 완벽하지만 사람이 표로 보고 분석하기에는 불편합니다. 아래 상황이라면 변환 작업이 필요합니다.
- 쇼핑몰이나 광고 플랫폼 API에서 받은 주문, 성과 데이터를 엑셀 보고서로 만들어야 할 때
- 개발팀에서 넘겨준 JSON 로그를 비개발자가 확인해야 할 때
- JSON 데이터를 다른 시스템이 요구하는 CSV나 XML 형식으로 넘겨야 할 때
- 한 줄로 뭉쳐진 JSON을 사람이 읽기 좋게 들여쓰기(포맷팅)해야 할 때
변환의 핵심은 도구 선택이 아니라 데이터 구조 파악입니다. JSON이 단순한 목록 형태인지, 안에 또 다른 객체가 들어 있는 중첩 구조인지 먼저 확인하면 방법 선택이 훨씬 쉬워집니다.
JSON을 CSV와 엑셀로 변환하는 방법
1. 온라인 변환 도구 사용
가장 빠른 방법입니다. 브라우저에서 JSON to CSV 변환 사이트를 열고 데이터를 붙여넣기만 하면 됩니다. ConvertCSV, json-csv 같은 무료 서비스가 많고, 대부분 별도 가입 없이 바로 쓸 수 있습니다. 일회성 작업이나 수백 행 수준의 작은 데이터라면 이 방법으로 충분합니다.
2. 엑셀 파워 쿼리 활용
엑셀 2016 이후 버전에는 파워 쿼리가 내장되어 있습니다. 데이터 탭에서 데이터 가져오기, 파일에서, JSON 순서로 선택하면 JSON 파일을 표 형태로 불러올 수 있습니다. 중첩된 항목은 열 머리글의 확장 버튼을 눌러 펼치면 됩니다. 프로그램 설치나 코드 없이 반복 작업까지 자동화할 수 있어서 실무에서 활용도가 높습니다.
| 방법 | 난이도 | 적합한 상황 | 주의점 |
|---|---|---|---|
| 온라인 변환 도구 | 매우 쉬움 | 일회성, 소규모 데이터 | 민감 데이터 업로드 주의 |
| 엑셀 파워 쿼리 | 쉬움 | 반복되는 보고서 작업 | 엑셀 2016 이상 필요 |
| 파이썬(pandas) | 보통 | 대용량, 자동화, 중첩 구조 | 파이썬 설치 필요 |
| 자바스크립트 | 보통 | 웹 서비스 내 실시간 변환 | 브라우저 메모리 한계 |
파이썬과 자바스크립트로 변환하기
파이썬: pandas로 3줄이면 끝
데이터가 크거나 매일 반복되는 작업이라면 파이썬이 가장 효율적입니다.
import pandas as pd
df = pd.read_json('data.json')
df.to_csv('result.csv', index=False, encoding='utf-8-sig')중첩된 JSON이라면 pd.json_normalize() 함수를 쓰면 안쪽 객체까지 자동으로 열로 펼쳐집니다. 엑셀 파일이 필요하면 to_csv 대신 to_excel을 쓰면 됩니다.
자바스크립트: 브라우저에서 바로
const data = JSON.parse(jsonText);
const header = Object.keys(data[0]).join(',');
const rows = data.map(r => Object.values(r).join(','));
const csv = [header, ...rows].join('\n');JSON.parse로 문자열을 객체로 바꾼 뒤 각 행을 쉼표로 이어 붙이는 구조입니다. 변환 과정에서 각 행을 구분할 고유 키가 원본에 없다면 UUID 생성기로 만든 식별자를 ID 컬럼으로 붙여두는 것을 추천합니다. 나중에 데이터를 합치거나 중복을 걸러낼 때 기준값이 있어야 작업이 수월해집니다.
변환할 때 자주 겪는 문제 3가지
- 한글 깨짐: CSV를 엑셀에서 열었을 때 한글이 외계어로 보이는 경우입니다. 인코딩을 UTF-8이 아닌 utf-8-sig(BOM 포함)로 저장하면 해결됩니다.
- 중첩 구조 펼치기: 객체 안에 객체가 있으면 단순 변환 시 [object Object]처럼 뭉개집니다. 파이썬의 json_normalize나 엑셀 파워 쿼리의 열 확장 기능으로 계층을 펼쳐야 합니다.
- 대용량 파일: 수십만 행이 넘는 JSON은 온라인 도구나 브라우저에서 멈추기 쉽습니다. 파일을 나눠서 처리하거나 파이썬으로 청크 단위 처리를 하는 것이 안정적입니다.
오늘 바로 해볼 것
먼저 갖고 있는 JSON 파일을 엑셀 파워 쿼리로 불러와 보세요. 설치 없이 5분이면 표로 바뀌는 경험을 할 수 있습니다. 반복 작업이 될 것 같다면 위의 파이썬 3줄 코드를 저장해 두고 파일명만 바꿔 쓰면 됩니다.
변환한 데이터를 보고서나 대시보드 차트로 만들 계획이라면 색 조합까지 신경 써 보세요. 컬러 팔레트 생성기 같은 도구로 통일된 색상 세트를 미리 뽑아두면 여러 차트를 만들어도 보고서 전체 톤이 일정하게 유지됩니다. 데이터 정리부터 시각화까지, 오늘 정리한 순서대로만 따라 하면 JSON 데이터 변환 방법 때문에 헤맬 일은 없을 겁니다.