【Ruby】Fakerを使ってダミーデータを作成する
2021/10/03
ちょっとした検証で大規模なダミーデータのCSVファイルが欲しかった
よくあるダミーデータ生成サービスだと1万行くらいまでしか対応してなかったりするので、RubyでFakerというGemを使ってスクリプトを書いてダミーデータを作った
ダミーデータの中身は名前、年齢、メールアドレスの3項目で1000万行
require 'bundler/inline'
require 'csv'
gemfile do
source 'https://rubygems.org'
gem 'faker'
end
CSV.open('./dummy.csv', 'w') do |csv|
csv << ['name', 'age', 'email']
10000000.times do
csv << ["#{Faker::Name.first_name} #{Faker::Name.last_name}", rand(18..80), Faker::Internet.email]
end
end
$ head dummy.csv
name,age,email
Kimberely Grimes,25,[email protected]
Juliann Waelchi,21,[email protected]
Hershel Pfannerstill,22,[email protected]
Carson Reynolds,32,[email protected]
Walter Koch,33,[email protected]
Rob Kuphal,48,[email protected]
Lawerence Dietrich,72,[email protected]
Hubert VonRueden,50,[email protected]
Harry Pacocha,56,[email protected]
$ wc -l dummy.csv
10000001 dummy.csv
ヘッダーの1行を除いて1000万行出来ている
$ time ruby app.rb
ruby app.rb 5707.99s user 25.91s system 63% cpu 2:29:51.79 total
ちなみに1時間半くらい掛かった
どうせなら高速化にチャレンジして記事にしたらよかったけどまあいいや