こんにちは、ksr_cyclです。
最近使ったPythonライブラリで面白いものがあったので、それを紹介します。
Ruby版やPerl版、PHP版は元々あり、それらに影響を受けて、Python版は作られたとのことです。
自分は「特定のエンティティを疑似的に生成したい」、というようなシーンですごく役立ちました。
簡単な機能の紹介をします。
デフォルトは英語ですが、日本語にも対応しています。
日本語として使用する場合は以下のように定義します。
from faker import Faker faker = Faker(['ja_JP'])
氏名、会社名、住所を生成してみます。
for _ in range(3): print(faker.name()) print(faker.company()) print(faker.address()) print()
[output] 後藤 学 佐藤情報株式会社 宮城県武蔵野市台東5丁目16番14号 山本 拓真 石井保険合同会社 京都府大田区日本堤15丁目6番11号 九段南コート380 伊藤 美加子 有限会社中村印刷 北海道東久留米市長間12丁目27番10号 押上シティ985
ジェネレーターのシードを固定することも出来ます。その場合は以下のような使い方になります。
for _ in range(3): Faker.seed(42) for __ in range(2): print(faker.name()) print(faker.company()) print(faker.address()) print() print('*' * 50)
[output] 佐藤 淳 株式会社高橋農林 山口県白井市箪笥町3丁目1番3号 アーバン天神島838 伊藤 裕美子 岡田水産株式会社 兵庫県台東区脚折10丁目7番11号 ハイツ前弥六南町155 ************************************************** 佐藤 淳 株式会社高橋農林 山口県白井市箪笥町3丁目1番3号 アーバン天神島838 伊藤 裕美子 岡田水産株式会社 兵庫県台東区脚折10丁目7番11号 ハイツ前弥六南町155 ************************************************** 佐藤 淳 株式会社高橋農林 山口県白井市箪笥町3丁目1番3号 アーバン天神島838 伊藤 裕美子 岡田水産株式会社 兵庫県台東区脚折10丁目7番11号 ハイツ前弥六南町155 **************************************************
シードを共有せず、個別に分けたい場合は以下のような固定方法もあります。
for i in range(2): print(f'\nround {i}\n') for j in range(2): print(f'set seed: {j}') faker.seed_instance(j) for __ in range(2): print(faker.name()) print(faker.company()) print(faker.address()) print()
[output] round 0 set seed: 0 前田 舞 有限会社藤原ガス 長野県川崎市宮前区雷門23丁目19番7号 日本堤コーポ219 岡本 結衣 有限会社鈴木農林 静岡県江戸川区南赤田23丁目14番11号 アーバン雷門840 set seed: 1 木村 陽一 有限会社鈴木保険 鳥取県稲城市芝浦14丁目4番16号 轟シティ907 山下 千代 有限会社佐藤水産 山口県我孫子市芝浦14丁目14番1号 コート神明内783 round 1 set seed: 0 前田 舞 有限会社藤原ガス 長野県川崎市宮前区雷門23丁目19番7号 日本堤コーポ219 岡本 結衣 有限会社鈴木農林 静岡県江戸川区南赤田23丁目14番11号 アーバン雷門840 set seed: 1 木村 陽一 有限会社鈴木保険 鳥取県稲城市芝浦14丁目4番16号 轟シティ907 山下 千代 有限会社佐藤水産 山口県我孫子市芝浦14丁目14番1号 コート神明内783
再現性を持たせたい場合等に役に立つと思います。
文章を生成してみます。
for _ in range(5): print(faker.paragraph(nb_sentences=3))
[output] 試してみる呼ぶクロスコピーは楽しんで評議会。販売緩む販売編組ブレーキ。 鉱山トス助けてサラダヒット。アクセルペダルトレーナー文言数字。脊椎建築日曜日通行料金今目的。 軸虐待擁するコミュニケーション教授コミュニティ職人。彼品質転倒ささやき催眠術。 狐癌バスケット持ってる持っていました持つブラケットログ。あった大統領証言する探査。普通の中央電池花嫁。 風景パンタワー欠乏評議会試してみる文言。あったサラダデッド副状況。
他国語?な文章も一部生成されていますが、活用方法が何かあるかもしれません。
以上でFakerの紹介を終わります。