[python] PyYAML을 사용하여 YAML 파일의 데이터를 다른 데이터베이스로 이관하기

YAML은 텍스트 기반의 데이터 직렬화 형식으로, 사용자가 읽고 쓰기 쉬운 구조를 가지고 있습니다. 이러한 특성으로 인해 많은 애플리케이션에서 데이터를 YAML 형식으로 저장하고 사용합니다. 그런데 때로는 YAML 파일에 저장된 데이터를 다른 데이터베이스에 이관해야 할 경우가 있습니다.

이 글에서는 Python의 PyYAML 패키지를 사용하여 YAML 파일의 데이터를 다른 데이터베이스로 이관하는 방법을 알아보겠습니다.

1. PyYAML 설치하기

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

pip install pyyaml

2. YAML 파일에서 데이터 읽기

다음으로, PyYAML을 사용하여 YAML 파일에서 데이터를 읽어옵니다. 아래 예제 코드는 data.yaml 파일에서 데이터를 읽는 방법을 보여줍니다.

import yaml

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

# 읽어온 데이터를 출력
print(data)

3. 데이터베이스에 데이터 쓰기

이제 읽어온 데이터를 원하는 데이터베이스에 쓰는 방법을 알아보겠습니다. 데이터베이스 종류에 따라 구체적인 코드가 달라질 수 있지만, 아래 예제는 SQLite 데이터베이스에 데이터를 쓰는 방법을 보여줍니다.

import sqlite3

# SQLite 데이터베이스 연결
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# 데이터베이스에 데이터 쓰기
for item in data:
    cursor.execute("INSERT INTO table_name (column1, column2) VALUES (?, ?)", (item['field1'], item['field2']))

# 데이터베이스에 변경 사항 저장
conn.commit()

# 데이터베이스 연결 종료
conn.close()

위 코드에서 table_name은 데이터를 쓰고자 하는 테이블의 이름이며, column1, column2는 테이블의 컬럼 이름입니다. field1, field2는 데이터를 쓰고자 하는 YAML 파일의 필드 이름입니다. 데이터베이스 종류에 따라 SQL 쿼리와 테이블 구조를 맞게 수정해야 합니다.

결론

이제 PyYAML을 사용하여 YAML 파일의 데이터를 다른 데이터베이스로 이관하는 방법을 배웠습니다. YAML 파일에서 데이터를 읽어와 원하는 데이터베이스에 쓰는 코드를 작성할 수 있습니다. 이를 활용하여 다양한 데이터 이관 작업을 수행할 수 있습니다.

참고 자료