[python] Marshmallow의 데이터 타입 변환 기능 활용하기

Marshmallow는 파이썬의 직렬화 라이브러리로, 데이터의 직렬화 및 역직렬화를 위한 다양한 기능을 제공합니다. 이 중에서도 Marshmallow의 데이터 타입 변환 기능은 특히 유용하며, 데이터를 원하는 형식으로 변환할 수 있습니다.

이번 포스트에서는 Marshmallow의 데이터 타입 변환 기능에 대해 알아보겠습니다. 이를 통해 원하는 형식의 데이터를 매우 간편하게 변환할 수 있습니다.

설치

먼저 Marshmallow를 설치해야 합니다. 아래 커맨드를 실행하여 설치할 수 있습니다.

pip install marshmallow

사용하기

Marshmallow의 데이터 타입 변환 기능을 사용하기 위해 먼저 Schema 클래스를 정의해야 합니다. 이 클래스는 데이터 모델의 구조를 정의하고, 데이터의 직렬화 및 역직렬화를 처리합니다.

from marshmallow import Schema, fields

class UserSchema(Schema):
    id = fields.Int()
    name = fields.Str()
    email = fields.Email()

위의 코드에서는 UserSchema 클래스를 정의하고, id, name, email 등의 필드를 추가했습니다. 각 필드는 원하는 데이터 타입에 맞게 지정할 수 있습니다. 예를 들어 fields.Int()는 정수형 데이터를 나타내며, fields.Str()는 문자열 데이터를 나타냅니다. fields.Email()는 이메일 주소 형식의 데이터를 나타냅니다.

이제 데이터를 변환하는 함수를 만들어보겠습니다.

def convert_data(data):
    schema = UserSchema()
    result = schema.load(data)
    return result

위의 코드에서는 convert_data() 함수를 정의하고, 주어진 데이터를 UserSchema에 따라 변환하는 작업을 수행합니다. 변환된 결과는 result 변수에 저장되며 반환됩니다.

이제 convert_data() 함수를 사용하여 데이터를 변환해보겠습니다.

data = {
    'id': '1',
    'name': 'John Doe',
    'email': 'johndoe@example.com'
}

result = convert_data(data)
print(result)

위의 코드에서는 data라는 딕셔너리 형식의 데이터를 convert_data() 함수에 전달하고, 변환된 결과를 출력합니다. 결과는 다음과 같이 나타납니다.

{'email': 'johndoe@example.com', 'id': 1, 'name': 'John Doe'}

위의 결과에서는 id 필드의 데이터 타입이 정수형으로 변환되었음을 알 수 있습니다. 이와 같이 Marshmallow의 데이터 타입 변환 기능을 사용하면, 데이터를 원하는 형식으로 간단하게 변환할 수 있습니다.

결론

이번 포스트에서는 Marshmallow의 데이터 타입 변환 기능에 대해 알아보았습니다. Schema 클래스를 사용하여 데이터 모델의 구조를 정의하고, 데이터를 원하는 형식으로 변환할 수 있습니다. 이를 통해 데이터를 간편하게 처리할 수 있으며, 개발 과정에서 매우 유용한 도구입니다.

더 자세한 내용은 Marshmallow 공식 문서를 참고하시기 바랍니다.