PythonのpeeweeモジュールとFakerモジュールを使用して、インメモリのデータベースに日本の偽住所と名前を登録し、表示させてみます。
今回はpeeweeとFakerを用います。この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()で表示させることができました。


コメント