[python] PyYAML로 YAML 파일의 구조 변경하기

YAML 파일은 데이터를 사람이 읽기 쉽게 표현하기 위한 포맷입니다. 자주 사용되는 YAML 라이브러리 중 하나인 PyYAML을 사용하면, Python에서 YAML 파일을 쉽게 읽고 쓸 수 있습니다. 이번 글에서는 PyYAML을 사용하여 YAML 파일의 구조를 변경하는 방법에 대해 알아보겠습니다.

1. PyYAML 설치하기

PyYAML을 사용하기 위해서는 먼저 해당 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 PyYAML을 설치할 수 있습니다.

pip install pyyaml

2. YAML 파일 읽기

먼저 YAML 파일을 읽어서 파이썬 객체로 변환하는 방법을 알아보겠습니다. 아래의 예제 코드는 example.yaml 파일을 읽어서 파이썬 객체로 변환하는 코드입니다.

import yaml

with open('example.yaml', 'r') as file:
    data = yaml.safe_load(file)

yaml.safe_load() 함수를 사용하여 YAML 파일을 파이썬 객체로 변환할 수 있습니다. data 변수에는 YAML 파일의 데이터가 저장됩니다.

3. YAML 파일 쓰기

다음으로, 파이썬 객체를 YAML 형식으로 변환하여 파일에 쓰는 방법에 대해 알아보겠습니다. 아래의 예제 코드는 파이썬 객체를 YAML 형식으로 변환하여 new_example.yaml 파일에 쓰는 코드입니다.

import yaml

data = {
    'name': 'John',
    'age': 30,
    'email': 'john@example.com'
}

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

yaml.dump() 함수를 사용하여 파이썬 객체를 YAML 형식으로 변환하고, yaml.dump() 함수의 file 매개변수를 사용하여 파일에 쓸 수 있습니다.

4. YAML 파일의 구조 변경하기

이제 YAML 파일의 구조를 변경하는 방법에 대해 알아보겠습니다. 예를 들어, 아래의 YAML 파일이 있다고 가정해봅시다.

name: John
age: 30
email: john@example.com

이 YAML 파일의 구조를 변경하여 아래와 같이 저장하고 싶다면,

person:
    name: John
    age: 30
    email: john@example.com

다음과 같이 코드를 작성할 수 있습니다.

import yaml

with open('example.yaml', 'r') as file:
    data = yaml.safe_load(file)

new_data = {'person': data}

with open('new_example.yaml', 'w') as file:
    yaml.dump(new_data, file)

yaml.safe_load() 함수로 YAML 파일을 파이썬 객체로 읽은 후, 필요한 변경 작업을 수행하고 yaml.dump() 함수로 다시 YAML 형식으로 변환하여 저장할 수 있습니다.

결론

PyYAML을 사용하면 Python에서 YAML 파일의 구조를 쉽게 변경할 수 있습니다. 이를 통해 YAML 파일을 더욱 효과적으로 다룰 수 있고, 데이터를 구조화하여 원하는 형태로 활용할 수 있습니다.

참고 자료