LoginSignup
1
1

More than 3 years have passed since last update.

[Python] 英語の人名をランダムに大量生成する

Last updated at Posted at 2020-06-15

はじめに

検証などで気持ち大きめのデータベースが欲しいことがあるのですが、書籍/記事サンプルでは数レコードしかないことがあり。なら勉強もかねて作ってしまえ…ということで、名前の生成部分を作ってみました。

用意するもの

こちらのリポジトリから、元となるファイルをお借りします。
NamesDatabases/first names/us.txtNamesDatabases/surnames/us.txt を、同じフォルダに配置しておきます。同名になってしまうので、us_firstnames.txtus_lastnames.txt に変更しています。

コード

### import Modules
import random

### Preparation
# どのくらいの名前を生成するか
NUMBER_OF_NAMES = 10000

# Reference:
# https://github.com/smashew/NameDatabases

### Main Code
f = open('us_firstnames.txt')
firstnameList = f.read().split('\n')
f.close()
f = open('us_lastnames.txt')
lastnameList = f.read().split('\n')
f.close()

for i in range(NUMBER_OF_NAMES):
    currentFirstnameNo = round(random.random() * len(firstnameList))
    currentLastnameNo = round(random.random() * len(lastnameList))
    print(firstnameList[currentFirstnameNo] + " " + lastnameList[currentLastnameNo])

とりあえずコンソールに出るので、そのままテキストに吐き出すなり Excel (csv) に貼り付けるなりできます。
もちろん、それをコード内でやる等はご自由に…

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1