【Python】 ライブラリ faker でダミーデータを作成してみた|1日1ハンズオン Day 48
こんにちは、ぽめら です。
本記事は1日1ハンズオン企画、第48回です!
引き続き過去回(第46回)で着手したプログラムについて、AWS連携用のブラウザ仕様を変えるハンズオンにチャレンジします🧙
今回はPython側で、ダミーデータの作成をおこないます。
1.はじめに
前回はフロント側で入力項目を増やす仕様を実装してみました。
改修を加えている元プログラムは過去回(第46回)の内容です。
今回はAWSアップ時の検証でバリエーションがないことで寂しさを感じたため、ダミーデータを作成するコードを書いていきたいと思います。
では、レッツハンズオン!
2.ライブラリ faker でダミーデータを作ってみた
実データがあれば特に考えもしないこの話題ですが、開発工程ではダミーデータがないと検証ができません。とはいえ、手動でダミーデータを作るのは面倒なのでプログラム書きました🤖
2-1.faker とは
fakerは、テスト用のダミーデータを自動生成するためのライブラリ です。
(Laravelでも同名のライブラリがあり、私も過去に使用した記憶があります。同じものなんだろうか…?)
名前・住所・メールアドレス・日付など、実際に存在しそうなデータを簡単に作成できます。
from faker import Faker
faker = Faker("ja_JP") # 日本語対応
print(faker.name()) # → 例:田中 太郎
print(faker.address()) # → 例:東京都新宿区西新宿2丁目8番1号
手作業でデータを入力することなく、リアルなテストデータを自動で生成できるので便利ですね✨
2-2.コーディング
はじめは「動けばいいからなー🎅」と思ってfakerを使わないで実装しようとしたんです。それが下記。リストに名前を直接書き込んでみた形式です。
<generate_dummy.py>
・ダミーデータ生成(名前リストを指定)
# -------------------------------
# Day48:ダミーデータ生成(名前リストを指定)
# -------------------------------
import json
import random
import datetime
names = ["田中", "佐藤", "鈴木", "高橋", "伊藤"]
records = []
for i in range(100):
record = {
"id": i + 1,
"name": random.choice(names),
"score": random.randint(20, 100),
"timestamp": datetime.datetime.now().isoformat()
}
records.append(record)
with open("user_data.json", "w", encoding="utf-8") as f:
json.dump(records, f, ensure_ascii=False, indent=2)
print("✅ 100件のダミーデータを生成しました。")
if __name__ == "__main__":
generate_dummy_data()でも、「ダミーデータ作成のライブラリくらいあるだろなー」からの、「Pythonで触ったことがないなー」からの、「じゃあせっかくだし触ってみよ🤗」という精神で実装してみます。
<generate_dummy.py>
・faker 使用
# -------------------------------
# Day48:ダミーデータ生成(faker使用)
# -------------------------------
from faker import Faker
import json
import random
from datetime import datetime
# 日本語ロケールでfakerを初期化
faker = Faker("ja_JP")
def generate_dummy_data():
records = []
for i in range(100):
record = {
"id": i + 1,
"name": faker.last_name(), # fakerで名前指定
"score": random.randint(20, 100),
"timestamp": datetime.now().isoformat()
}
records.append(record)
# JSONファイルとして保存
with open("user_data.json", "w", encoding="utf-8") as f:
json.dump(records, f, ensure_ascii=False, indent=2)
print("✅ 100件のダミーデータを生成しました。")
if __name__ == "__main__":
generate_dummy_data()2−3.実行
faker は事前インストールが必要なのでお忘れなく。
事前準備:
pip install faker実行:
python generate_dummy.py結果:


できました!
苗字を考えたり、名前を考えたり。はたまた住所を考えたりするのって地味に面倒ですよね。それを解決できたので満足です🫡
3.まとめ
今回はライブラリ faker を使用して、リアルなダミーデータの作成に挑戦しました。テストとはいえ、やはり適当すぎるデータだとテスト感がないですからね…。
というわけで今日はここまで!
ではまた明日👋
4.参考リンク
・Faker ドキュメント
・Pythonでもfakerあるのか!と気づきを得たdevelopersIO
・Faker-Python GitHub
