[python] PyYAML을 이용하여 YAML 파일의 데이터를 검색하기

YAML은 사람이 읽기 쉽고 컴퓨터가 파싱하기 쉬운 형식의 데이터 직렬화 언어입니다. PyYAML은 Python에서 YAML을 파싱하고 생성하기 위한 라이브러리입니다. 이 블로그 포스트에서는 PyYAML을 사용하여 YAML 파일의 데이터를 검색하는 방법에 대해 알아보겠습니다.

1. PyYAML 설치하기

먼저, PyYAML을 설치해야 합니다. 아래의 명령을 사용하여 PyYAML을 설치할 수 있습니다:

pip install pyyaml

2. YAML 파일 로드하기

PyYAML을 사용하기 위해 먼저 YAML 파일을 로드해야 합니다. 아래의 코드를 사용하여 YAML 파일을 로드할 수 있습니다:

import yaml

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

위의 코드에서 ‘example.yaml’은 로드할 YAML 파일의 경로입니다. 로드된 데이터는 data 변수에 저장됩니다.

3. 데이터 검색하기

로드한 YAML 파일의 데이터를 검색하기 위해, YAML 데이터 구조를 탐색할 수 있는 방법을 알아야 합니다. PyYAML은 YAML 데이터를 Python의 딕셔너리와 리스트 구조로 변환합니다.

딕셔너리에서 데이터 검색하기

YAML 데이터에서 딕셔너리 구조를 사용하는 경우, 딕셔너리 키를 사용하여 데이터를 검색할 수 있습니다. 예를 들어, 아래의 YAML 파일이 있다고 가정해봅시다:

person:
  name: John
  age: 30

다음과 같이 딕셔너리 키를 사용하여 데이터를 검색할 수 있습니다:

name = data['person']['name']
age = data['person']['age']

리스트에서 데이터 검색하기

YAML 데이터에서 리스트 구조를 사용하는 경우, 인덱스를 사용하여 데이터를 검색할 수 있습니다. 예를 들어, 아래의 YAML 파일이 있다고 가정해봅시다:

fruits:
  - apple
  - banana
  - orange

다음과 같이 인덱스를 사용하여 데이터를 검색할 수 있습니다:

first_fruit = data['fruits'][0]
second_fruit = data['fruits'][1]

4. 예외 처리하기

PyYAML을 사용하여 YAML 데이터를 검색할 때, 데이터가 존재하지 않는 경우 예외가 발생할 수 있습니다. 이를 처리하기 위해 예외 처리를 추가하는 것이 좋습니다. 예를 들어, KeyError 예외를 처리하여 데이터가 없을 때 기본 값을 설정할 수 있습니다:

try:
    name = data['person']['name']
except KeyError:
    name = "Unknown"

요약

이 튜토리얼에서는 PyYAML을 사용하여 YAML 파일의 데이터를 검색하는 방법을 알아보았습니다. PyYAML을 통해 YAML 데이터를 로드하고, 딕셔너리나 리스트 구조를 사용하여 데이터를 검색할 수 있습니다. 예외 처리를 통해 데이터가 없을 때 대처하는 것도 중요합니다. PyYAML을 사용하여 YAML 파일의 데이터를 검색하는 방법을 숙지하면 유용한 데이터 분석 및 처리 작업을 수행할 수 있을 것입니다.

참고 자료