[python] PyYAML을 이용하여 YAML 파일의 데이터를 특정 조건에 따라 정렬하기

YAML (YAML Ain’t Markup Language)은 사람이 쉽게 읽고 작성할 수 있는 데이터 직렬화 형식입니다. YAML 파일에서 데이터를 읽고 조작하는 것은 많은 Python 개발자들이 자주 사용하는 작업 중 하나입니다. 이번에는 Python의 PyYAML 라이브러리를 사용하여 YAML 파일의 데이터를 특정 조건에 따라 정렬하는 방법에 대해서 알아보겠습니다.

1. PyYAML 설치하기

먼저, PyYAML 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 PyYAML을 설치하세요.

pip install PyYAML

2. YAML 파일 읽기

PyYAML을 사용하여 YAML 파일을 읽고 파싱하기 위해 다음 코드를 사용합니다.

import yaml

def read_yaml_file(file_path):
    with open(file_path, 'r') as f:
        data = yaml.safe_load(f)
    return data

# YAML 파일 읽기 예제
data = read_yaml_file('data.yaml')
print(data)

3. 데이터 정렬하기

정렬하고자 하는 특정 조건에 따라 데이터를 정렬하기 위해서는 파이썬의 sorted() 함수를 사용할 수 있습니다. 예를 들어, YAML 파일에 있는 ‘name’ 필드를 기준으로 데이터를 정렬하고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

def sort_data(data, key):
    sorted_data = sorted(data, key=lambda x: x[key])
    return sorted_data

# 'name' 필드를 기준으로 데이터를 정렬한 예제
sorted_data = sort_data(data, 'name')
print(sorted_data)

4. 정렬된 데이터 YAML 파일로 저장하기

정렬된 데이터를 YAML 파일로 저장하기 위해서는 PyYAML 라이브러리의 dump() 함수를 사용합니다. 다음은 정렬된 데이터를 YAML 파일로 저장하는 예제입니다.

def save_to_yaml_file(file_path, data):
    with open(file_path, 'w') as f:
        yaml.dump(data, f)

# 정렬된 데이터를 YAML 파일로 저장하는 예제
save_to_yaml_file('sorted_data.yaml', sorted_data)

결론

위의 예제를 통해 PyYAML을 사용하여 YAML 파일에서 데이터를 읽고 특정 조건에 따라 정렬하는 방법을 알아보았습니다. 이를 활용하여 YAML 파일의 데이터를 원하는대로 정렬할 수 있습니다. PyYAML 라이브러리에 대해서 더 자세한 내용을 알고 싶다면 공식 문서를 참조해주세요.