현대 소프트웨어 개발에서 데이터 교환과 설정 관리를 위해 다양한 파일 형식이 사용됩니다. JSON, YAML, CSV, XML 등 각 형식의 특징과 사용 사례를 이해하는 것이 중요합니다.
- 경량 데이터 교환 형식
- 사람이 읽기 쉽고 기계가 파싱하기 쉬움
- 웹 API에서 가장 널리 사용
- 데이터 타입: 객체, 배열, 문자열, 숫자, 불린, null
- 사람이 읽기 쉬운 데이터 직렬화 형식
- 들여쓰기로 구조 표현
- 설정 파일에 주로 사용 (Docker, Kubernetes)
- JSON의 상위 집합
- 표 형식 데이터를 저장하는 텍스트 파일
- 각 행은 레코드, 각 열은 필드
- 스프레드시트와 데이터베이스 간 데이터 교환
- 간단하지만 중첩 구조 표현 불가
- 마크업 언어 기반 데이터 형식
- 태그로 데이터 구조화
- 복잡한 계층 구조 표현 가능
- 레거시 시스템에서 여전히 사용
{
"name": "홍길동",
"age": 30,
"skills": ["Python", "Docker", "Git"],
"contact": {
"email": "hong@example.com",
"phone": "010-1234-5678"
}
}name: 홍길동
age: 30
skills:
- Python
- Docker
- Git
contact:
email: hong@example.com
phone: 010-1234-5678이름,나이,이메일,기술
홍길동,30,hong@example.com,Python
김철수,25,kim@example.com,Docker
이영희,28,lee@example.com,Gitimport json
import yaml
import csv
# JSON 읽기
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# YAML 읽기
with open('config.yaml', 'r', encoding='utf-8') as f:
config = yaml.safe_load(f)
# CSV 읽기
with open('users.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
print(row['이름'], row['나이'])