PythonでPydanticを用いてデータを辞書型で取得する

スポンサーリンク

PythonでPydanticを用いてデータを辞書型で取得してみます。

なお、PydanticはPythonの標準ライブラリではないので、事前にインストールする必要があります。

■Python

Google Colaboratory(Google Colab),2023年3月18日時点ではPython 3.9.16が用いられる。

■Pydanticを用いてデータを辞書型で取得する

では、早速Pydanticを用いてデータを辞書型で取得するコードを書いていきます。

■コード

from pydantic import BaseModel

class User(BaseModel):
    id: int
    name: str
    email: str
    age: int

user_data = {
    "id": 1,
    "name": "田中テスト太郎",
    "email": "tanaka@example.com",
    "age": "25"
}

user = User(**user_data)
print(user.dict())

まずは「from import」でpydanticモジュールのBaseModelを呼び出します。その後、Userというオブジェクトを作成するためのテンプレート(設計図)であるクラスを定義します。(なお、これはPydanticのモデルを定義することでもあります。)括弧内には引数,パラメータとしてBaseModelを渡します。そしてモデル内には「id、name、email、age」の4つの属性を記述します。各属性には、文字列(str)型なのか、整数(int)型なのかを指定します。

指定後、「user_data」という辞書型のデータを定義します。定義する際は、波括弧”{ }”を用い各要素を囲みコロン”:”を使ってキーと値のセットを記述します。

記述後、userという変数を定義し、User()を格納します。これでインスタンス化を行います。インスタンス化によりオブジェクトが作成されたことで、クラス内にアクセスできるようになりました。括弧内には引数,パラメータとして、”**”演算子を使用しuser_dataのキーを引数,パラメータ名に、その値を引数,パラメータの実際の値にマッピングします。これで、Userモデルに変換し、検証や型変換を行うことが可能となります。

最後に、userに対してドット演算子( . )を用いてdict()を呼び出し、データを辞書型で取得します。取得された辞書型をprint()で出力します。

■実行・検証

このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。

実行してみると、Pydanticを用いてデータを辞書型で取得し、取得した辞書型をprint()で出力させることができました。

コメント

タイトルとURLをコピーしました