Gangmax Blog

Generate Random Data in Python

Sometimes I want to generate some random data, such as strings by a given regular expression. Here are some Python libraries which can be used.

rstr

1
2
3
>>> import rstr
>>> [rstr.xeger(r'^[a-z0-9]{6,6}$') for i in range(5)]
['qazxpj', 'spt53j', 'rvfkmu', 'juwerj', 'erlrz7']

exrex

1
2
3
>>> import exrex
>>> [exrex.getone('[a-z0-9]{6,7}') for i in range(5)]
['ac02qf4', 'h7ik7xk', 'uk3hvd6', 'i6soqy', 'mtwslb']

faker

1
2
3
4
5
6
>>> from faker import Faker
>>> fake = Faker(locale=['zh_CN', 'jp_JP', 'en_NZ'])
>>> [fake.name() for i in range(7)]
['高橋 翔太', '叶欢', '鈴木 花子', '郑旭', 'Vicki Morton-Smith', 'Shane Phillips', '木村 和也']
>>> [fake.email() for i in range(7)]
['momoko27@example.com', 'gaoming@example.com', 'elin@example.com', 'hidekiaoki@example.com', 'james47@example.com', 'francissean@example.net', 'minoru11@example.com']

Comments