PyYAML은 Python에서 YAML 파일을 파싱하고 생성하기 위한 라이브러리입니다. 이를 사용하여 YAML 파일의 데이터를 특정 조건에 따라 필터링하는 방법을 알아보겠습니다.
필터링할 YAML 파일 준비하기
먼저, 필터링을 적용할 YAML 파일을 준비해야 합니다. 예를 들어, 다음과 같이 data.yml
파일에 사용자 데이터가 저장되어 있다고 가정해봅시다.
- name: Alice
age: 25
city: New York
- name: Bob
age: 30
city: London
- name: Charlie
age: 28
city: Paris
PyYAML로 YAML 파일 파싱하기
PyYAML을 사용하여 YAML 파일을 파싱합니다. 다음과 같은 코드로 data.yml
파일을 파싱할 수 있습니다.
import yaml
with open('data.yml', 'r') as file:
data = yaml.load(file, Loader=yaml.FullLoader)
데이터 필터링하기
이제 데이터를 필터링하기 위한 조건을 지정합니다. 예를 들어, 나이가 30 이하인 사용자들만 필터링하고 싶다면 다음과 같은 코드를 작성할 수 있습니다.
filtered_data = [user for user in data if user['age'] <= 30]
위 코드에서 data
는 파싱한 YAML 데이터이며, filtered_data
는 조건에 맞는 사용자들만 저장됩니다.
결과 확인하기
마지막으로, 필터링된 결과를 확인할 수 있습니다. 예를 들어, filtered_data
를 출력해보면 필터링된 사용자들의 정보가 출력됩니다.
for user in filtered_data:
print(user)
출력 결과는 다음과 같을 것입니다.
{'name': 'Alice', 'age': 25, 'city': 'New York'}
{'name': 'Bob', 'age': 30, 'city': 'London'}
여기까지 PyYAML을 이용하여 YAML 파일의 데이터를 특정 조건에 따라 필터링하는 방법을 알아보았습니다. 이를 응용하여 다양한 조건에 맞는 데이터를 추출할 수 있습니다.
참고 문서
주의: PyYAML 라이브러리의 load
함수는 YAML 파일의 내용을 직접 파싱하므로, 안전하지 않은 YAML 파일이나 악의적인 코드가 포함된 YAML 파일을 사용할 때는 주의해야 합니다. 신뢰할 수 있는 소스에서만 YAML 파일을 사용하거나, 파싱 전에 데이터를 검증하는 등의 방식을 사용해야 합니다.