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

YAML은 인간이 쉽게 읽고 쓸 수 있는 데이터 직렬화 양식입니다. PyYAML은 Python에서 YAML 파일을 파싱하고 생성하기 위한 라이브러리입니다. 이 블로그 포스트에서는 PyYAML을 사용하여 YAML 파일의 데이터를 특정 조건에 따라 분리하는 방법을 알아보겠습니다.

필요한 패키지 설치하기

먼저 PyYAML 패키지를 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다.

pip install pyyaml

YAML 파일 읽기

PyYAML을 사용하여 YAML 파일을 읽기 위해서는 yaml 모듈을 import 해야 합니다.

import yaml

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

위의 코드는 data.yaml 파일을 열고 그 내용을 data 변수에 로드합니다.

데이터 분리하기

이제 YAML 데이터를 특정 조건에 따라 분리해 보겠습니다. 예를 들어, YAML 파일에는 다음과 같은 내용이 있다고 가정해 봅시다.

- name: John
  age: 30
  country: USA
- name: Emily
  age: 25
  country: Canada
- name: David
  age: 35
  country: England

여기서 우리는 country가 ‘USA’인 데이터만 분리해야 합니다. 다음은 이를 수행하는 코드입니다.

filtered_data = [d for d in data if d["country"] == "USA"]

filtered_data 변수에는 country가 ‘USA’인 데이터만 포함됩니다.

분리된 데이터 출력하기

이제 분리된 데이터를 출력해 보겠습니다.

for d in filtered_data:
    print("Name:", d["name"])
    print("Age:", d["age"])
    print("Country:", d["country"])
    print()

이렇게 하면 filtered_data에 있는 각 데이터의 이름, 나이, 국적을 출력할 수 있습니다.

결론

이제 PyYAML을 사용하여 YAML 파일의 데이터를 특정 조건에 따라 분리하는 방법을 알게 되었습니다. PyYAML은 YAML 파일을 파싱하고 생성하는 간편한 방법을 제공하므로, YAML 파일을 다루는 프로젝트에서 매우 유용합니다.

참고 자료