[python] PyYAML을 이용하여 YAML 파일의 데이터를 특정 필드를 기준으로 검색하기

YAML은 사람이 쉽게 읽고 작성할 수 있는 데이터 직렬화 형식입니다. PyYAML은 파이썬에서 YAML 파일을 읽고 쓰는 라이브러리로, 다양한 YAML 파일 작업에 사용됩니다. 이번 포스트에서는 PyYAML을 사용하여 YAML 파일에서 특정 필드를 기준으로 데이터를 검색하는 방법을 알아보겠습니다.

1. PyYAML 설치하기

먼저, PyYAMl을 사용하기 위해 파이썬 패키지 매니저인 pip을 사용하여 설치합니다. 아래 명령어를 터미널에서 실행하세요.

pip install pyyaml

2. YAML 파일 읽기

YAML 파일을 읽기 위해 yaml.load() 함수를 사용합니다. 아래 예제는 data.yaml 파일을 읽어옵니다.

import yaml

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

3. 특정 필드로 데이터 검색하기

YAML 파일에서 특정 필드를 기준으로 데이터를 검색하려면 다음과 같은 방법을 사용할 수 있습니다.

import yaml

def search_data(field, value):
    with open('data.yaml', 'r') as file:
        data = yaml.load(file, Loader=yaml.FullLoader)
    
    results = []
    for item in data:
        if item[field] == value:
            results.append(item)
    
    return results

# 'name' 필드가 'John'인 데이터 검색
results = search_data('name', 'John')
print(results)

위 예제에서는 search_data 함수를 사용하여 name 필드가 'John'인 데이터를 검색하고 있습니다. 검색 결과는 리스트로 반환됩니다.

4. 결론

PyYAML을 사용하여 YAML 파일의 데이터를 특정 필드를 기준으로 검색하는 방법을 알아보았습니다. 이를 활용하면 다양한 YAML 파일 작업을 효과적으로 수행할 수 있습니다. PyYAML 공식 문서를 참조하여 더 많은 기능을 탐색해보세요.

참고 자료