[python] PyYAML을 사용하여 YAML 파일의 데이터를 압축하고 새로운 데이터베이스에 저장하기

목차

소개

YAML은 쉽게 읽을 수 있는 데이터 직렬화 형식입니다. 이번 블로그 글에서는 파이썬의 PyYAML 라이브러리를 사용하여 YAML 파일에서 데이터를 읽어와 압축하고, 이를 새로운 데이터베이스에 저장하는 방법을 소개하겠습니다.

PyYAML 설치

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

pip install pyyaml

YAML 파일 읽기

다음으로, YAML 파일에서 데이터를 읽습니다. 예를 들어, data.yaml 파일에 다음과 같은 데이터가 있다고 가정해봅시다.

- name: Apple
  price: 1.99
- name: Banana
  price: 0.99
- name: Orange
  price: 2.49

다음 코드를 사용하여 YAML 파일을 읽어옵니다.

import yaml

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

데이터 압축

이제 YAML 파일에서 읽어온 데이터를 압축합니다. 예를 들어, 가격이 2달러 이상인 과일만 남기고 나머지는 제외하려고 한다면 다음과 같은 코드를 사용할 수 있습니다.

compressed_data = [item for item in data if item["price"] >= 2.0]

데이터베이스에 저장

마지막으로, 압축된 데이터를 새로운 데이터베이스에 저장합니다. 데이터베이스에 따라 저장 방법이 다를 수 있으니 사용하는 데이터베이스에 맞는 라이브러리를 찾아 설치해야 합니다.

예를 들어, PostgreSQL 데이터베이스를 사용한다면 psycopg2 라이브러리를 설치합니다.

pip install psycopg2

다음 코드를 사용하여 압축된 데이터를 PostgreSQL 데이터베이스에 저장합니다.

import psycopg2

# 데이터베이스에 연결
conn = psycopg2.connect(database="mydatabase", user="myuser", password="mypassword", host="localhost", port="5432")
cur = conn.cursor()

# 데이터 삽입
for item in compressed_data:
    cur.execute("INSERT INTO fruits (name, price) VALUES (%s, %s)", (item["name"], item["price"]))

# 변경사항 저장
conn.commit()

# 연결 종료
cur.close()
conn.close()

이렇게 하면 압축된 데이터가 PostgreSQL 데이터베이스에 저장됩니다.

참고자료