json 파일 변환: CSV, XML, YAML로 변환하는 방법

JSON(JavaScript Object Notation)은 데이터를 저장하고 전송하는 데 널리 쓰이는 포맷입니다. 가볍고 사람이 읽기 쉬우며, 구조화된 데이터를 표현하기에 적합하죠. 하지만 상황에 따라 CSV, XML, YAML 등 다른 확장자로 데이터를 변환해야 할 때가 있습니다. 예를 들어, 데이터를 Excel에서 처리하고 싶다면 CSV가 유리하고, 시스템 간 데이터 교환에는 XML이나 YAML을 선택할 수 있습니다. 


이번 시간에는 JSON 파일을 CSV, XML, YAML 형식으로 변환하는 방법을 단계별로 자세히 설명합니다. 초보자도 따라 하기 쉽게 작성된 이 가이드는 변환 시 사용하는 도구와 각각의 장단점도 알기 쉽게 정리해 두었습니다. 


JSON 파일 변환


📜 JSON 포맷이란?

JSON은 키-값 쌍으로 데이터를 표현하는 단순하면서도 강력한 포맷입니다. 아래는 JSON의 대표적인 구조 예제입니다: 

json

{
  "이름": "홍길동",
  "나이": 25,
  "취미": ["축구", "독서"]
}

이 구조 덕분에 JSON은 웹 개발, 앱 개발 및 데이터 교환 등에 널리 사용됩니다. 그러나 다른 포맷으로 변환해야 할 경우가 많습니다. 예컨대, 비즈니스 데이터 분석을 위해 CSV로 변환하거나, 설치 스크립트에 사용하기 위해 YAML로 변환하는 상황이 일반적입니다. 

📈 JSON을 CSV로 변환하는 방법

CSV(Comma-Separated Values)는 데이터를 행과 열로 구성하여 텍스트로 저장하는 포맷입니다. 스프레드시트 프로그램과 호환되기 때문에 데이터 분석에 유리합니다. 

변환 과정:

1. JSON 데이터를 행(row)과 열(column) 형태로 재구성합니다. 
2. 쉼표(,)로 각 데이터를 구분합니다. 
3. 결과를 .csv 파일로 저장합니다. 

추천 도구:

(클릭만으로 JSON 데이터를 간단히 CSV로 변환할 수 있습니다.)

- Python: Pandas 라이브러리를 사용하면 JSON 데이터를 손쉽게 변환할 수 있습니다. 

예제 코드 (Python):

import pandas as pd
import json

# JSON 데이터 로드
json_data = '{"이름": "홍길동", "나이": 25, "취미": ["축구", "독서"]}'
data = json.loads(json_data)

# DataFrame으로 변환 후 CSV 저장
df = pd.json_normalize(data) 
df.to_csv('output.csv', index=False)

print("CSV 파일로 저장되었습니다.") 

🧾 JSON을 XML로 변환하는 방법

XML(eXtensible Markup Language)은 데이터를 트리(tree) 구조로 표현합니다. JSON과 마찬가지로 데이터 교환에 많이 쓰이며, 사람과 기계가 모두 읽기 쉽습니다.

변환 과정:

1. JSON의 키값을 태그로 변환합니다. 
2. 계층 구조를 중첩된 태그로 표현합니다.
3. .xml 확장자로 저장합니다. 

추천 도구:

(JSON 데이터를 XML로 변환하는 무료 온라인 도구입니다.)

- Python: xml.etree.ElementTree를 사용하면 변환이 간단합니다.

예제 코드 (Python):

import json
import dicttoxml

# JSON 데이터 로드
json_data = '{"이름": "홍길동", "나이": 25, "취미": ["축구", "독서"]}'
data = json.loads(json_data)

# XML로 변환
xml_data = dicttoxml.dicttoxml(data)
with open("output.xml", "wb") as file:
    file.write(xml_data)

print("XML 파일로 저장되었습니다.") 

🛠 JSON을 YAML로 변환하는 방법

YAML(YAML Ain’t Markup Language)은 사람이 읽기 쉽도록 설계된 데이터 포맷입니다. 파이썬, Docker 설정 파일 등을 포함하여 다양한 환경에서 사용됩니다.

변환 과정:

1. JSON 데이터를 들여쓰기 구조로 변환합니다. 
2. JSON의 배열은 '-' 표시로 표현합니다.
3. 결과를 .yml 또는 .yaml 파일로 저장합니다.

추천 도구:

(초보자도 쉽게 JSON을 YAML로 변환할 수 있는 웹사이트입니다.)

- Python: pyyaml 라이브러리를 사용하면 쉽고 빠르게 YAML로 변환할 수 있습니다. 

예제 코드 (Python):

import json
import yaml

# JSON 데이터 로드
json_data = '{"이름": "홍길동", "나이": 25, "취미": ["축구", "독서"]}'
data = json.loads(json_data)

# YAML로 변환 및 저장
with open("output.yaml", "w", encoding="utf-8") as file:
    yaml.dump(data, file, allow_unicode=True)

print("YAML 파일로 저장되었습니다.") 

✅ 각 포맷마다 적합한 용도는?

- CSV: 데이터를 표 형식으로 관리하거나 Excel에서 작업할 때 적합 
- XML: 트리 구조가 필요하거나, 다른 시스템 간 표준적인 데이터 교환이 필요할 때 유용 
- YAML: 사람이 읽기 쉬운 구성 설정 파일을 작성할 때 필수적 

JSON은 상황에 따라 다양한 포맷으로 변환되며, 이를 통해 가용성과 호환성을 확장할 수 있습니다. 필요에 맞는 변환 도구를 선택해 활용해 보세요!