[python] PyYAML로 YAML 데이터 조작하기

YAML은 인간이 쉽게 읽고 작성할 수 있는 데이터 직렬화 형식입니다. YAML 파일은 종종 환경 설정 파일, 데이터 교환 형식 등으로 사용됩니다. 이번 포스트에서는 Python에서 YAML 데이터를 조작하는 방법을 배워보겠습니다.

PyYAML 설치

PyYAML은 YAML 데이터를 파싱하고 직렬화하기 위한 Python 라이브러리입니다. 다음 명령어로 간단하게 설치할 수 있습니다:

pip install pyyaml

YAML 파일 읽기

먼저, YAML 파일을 읽어와서 파이썬에서 사용할 수 있는 형태로 파싱해야 합니다. yaml 모듈을 import하고 load() 함수를 사용하면 됩니다. 다음은 YAML 파일을 읽어와서 파이썬 딕셔너리로 변환하는 예제입니다:

import yaml

with open('data.yaml', 'r') as file:
    data = yaml.load(file, Loader=yaml.FullLoader)
    
print(data)

YAML 데이터 쓰기

YAML 데이터를 조작한 후, 이를 YAML 파일로 저장하는 방법도 알아보겠습니다. yaml 모듈의 dump() 함수를 사용하면 파이썬 객체를 YAML 형식으로 변환하여 파일에 쓸 수 있습니다. 다음은 파이썬 딕셔너리를 YAML 형식으로 변환하여 파일에 저장하는 예제입니다:

import yaml

data = {
    'name': 'John Doe',
    'age': 30,
    'city': 'New York'
}

with open('output.yaml', 'w') as file:
    yaml.dump(data, file)

YAML 데이터 조작

파이썬에서 YAML 데이터를 조작하는 방법은 파이썬 객체를 딕셔너리로 변환한 후, 이를 수정하고 다시 YAML 형식으로 변환하는 것입니다. 다음은 YAML 데이터에서 값을 읽어오고 수정하는 예제입니다:

import yaml

with open('data.yaml', 'r') as file:
    data = yaml.load(file, Loader=yaml.FullLoader)
    
# 값을 읽어오기
name = data['name']
print(name)

# 값을 수정하기
data['age'] = 40

# 수정된 데이터를 YAML 형식으로 저장하기
with open('output.yaml', 'w') as file:
    yaml.dump(data, file)

PyYAML을 사용하면 YAML 데이터를 쉽게 파싱하고 조작할 수 있습니다. YAML 파일을 읽고 쓰는 방법을 배웠으며, 데이터를 딕셔너리로 변환하여 수정하는 방법도 알아보았습니다. 이제 여러분은 PyYAML을 사용하여 YAML 데이터를 손쉽게 조작할 수 있게 되었습니다.

참고자료