PythonのpeeweeとFakerを使用しDBに日本の偽住所と名前を登録する

スポンサーリンク

PythonのpeeweeモジュールとFakerモジュールを使用して、インメモリのデータベースに日本の偽住所と名前を登録し、表示させてみます。

今回はpeeweeFakerを用います。この2つのライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows11)

■peeweeとFakerを使用しインメモリのデータベースに日本の偽住所と名前を登録し、表示させる

では、早速peeweeとFakerを使用しインメモリのデータベースに日本の偽住所と名前を登録し、表示させるスクリプトを書いていきます。

■コード

from peewee import SqliteDatabase, Model, CharField
from faker import Faker

# インメモリデータベースの作成
database = SqliteDatabase(":memory:")

# モデルの定義
class Person(Model):
    name = CharField()
    address = CharField()

    class Meta:
        database = database

# テーブルの作成
database.create_tables([Person])

# Fakerモジュールの初期化
fake = Faker('ja_JP')

# データの生成と登録
for _ in range(10):
    name = fake.name()
    address = fake.address()
    person = Person.create(name=name, address=address)

# 登録したデータの表示
for person in Person.select():
    print(person.name, person.address)

まずはpeeweeモジュールからSqliteDatabase、Model、CharFieldを、fakerモジュールからFakerをインポートします。

次に、インメモリデータベースを作成します。「:memory:」という特殊なパスを指定し、インメモリ上にデータベースを作成します。これにより、データベースがプログラムの実行終了時に破棄されます。

次に、peeweeのModelを継承してPersonクラスを定義します。Personクラスは、データベースのテーブルに対応します。今回はnameとaddressという2つのフィールドをCharFieldとして定義し、Metaクラス内でデータベースに接続するための設定を行っています。

その後、「database.create_tables([Person])」を呼び出して、データベースにテーブルを作成します。

次に、Fakerモジュールを初期化します。Fakerクラスのコンストラクタに「’ja_JP’」を渡すことで、日本の偽データを生成するように設定します。

その後、forループを使用して10回の繰り返しを行い、偽の名前と住所を生成してデータベースに登録します。fake.name()を使用してランダムな日本の名前を生成し、fake.address()を使用してランダムな住所を生成します。Person.create()を使用して、生成された名前と住所を持つ新しいPersonレコードをデータベースに作成します。

最後に、forループを使用して、データベース内の全てのPersonレコードを取得し、名前と住所をprint()で表示します。

■検証・実行

今回書いたスクリプトを「f_data.py」という名前でPythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみるとpeeweeとFakerを用いてデータベースに登録した偽住所と名前をprint()で表示させることができました。

コメント

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