Python中生成随机数据的利器--Faker
Faker是一个Python软件包,可为您生成伪造数据。无论您是需要引导数据库,创建美观的XML文档,填充持久性以进行压力测试还是匿名化来自生产服务的数据,Faker都是您的理想之选。不论您这边需要创建多少条数据,无非是一个for循环就解决问题了。
安装
pip install Faker引入
from faker import Faker简单实例
fake = Faker('zh_CN') # 设置语种
name = fake.name()
print(name)语种代号
以下是几种常见的语种代号:
简体中文:zh_CN
繁体中文:zh_TW
美国英文:en_US
英国英文:en_GB
德文:de_DE
日文:ja_JP
韩文:ko_KR
法文:fr_FR
常用方法
地址信息类
fake.address():完整地址,比如海南省成市丰都深圳路p座 425541fake.street_address():街道+地址,比如兴城路A座fake.street_name():街道名,比如宜都街fake.city_name():城市名,比如兰州fake.city():城市,比如兰州市fake.province():省份名,比如陕西省fake.postcode():邮编fake.country():国家
公司信息类
fake.company():公司名,比如惠派国际公司信息有限公司fake.company_suffix():公司名后缀(公司性质),比如网络有限公司
fake.company_prefix():公司名前缀,比如鑫博腾飞
日期类
fake.date(pattern=”%Y-%m-%d”, end_datetime=None):随机日期,可以自定义日期时间fake.year():随机年份fake.day_of_week():随机星期数fake.time(pattern=”%H:%M:%S”, end_datetime=None):随机时间
邮箱类
fake.company_email():企业邮箱fake.email():邮箱
个人信息类
fake.name():姓名
fake.user_name(*args, **kwargs):用户名,只是随机的英文姓名组合,一般是6位
fake.phone_number():电话号码
fake.simple_profile(sex=None):简略个人信息,包括用户名,姓名,性别,地址,邮箱,出生日期。
比如{'username': 'chao', 'name': '胡秀兰', 'sex': 'M', 'address': '宁夏回族自治区玉市沙湾宁德路t座 873713', 'mail': 'uxiao@yahoo.com', 'birthdate': '1998-06-12'}
fake.profile(fields=None, sex=None):详略个人信息,比简略个人信息多出公司名、血型、工作、位置、域名等等信息。
fake.password():密码
参数选项:
length:密码长度
special_chars:是否能使用特殊字符
digits:是否包含数字
upper_case:是否包含大写字母
lower_case:是否包含小写字母。
默认情况:
length=10
special_chars=True
digits=True
upper_case=True
lower_case=True
fake.job():工作
文章类
fake.text():随机文章
fake.word(ext_word_list=None):随机词语ext_word_list可以是一个列表,那么词语会从列表中取
fake.words(nb=3, ext_word_list=None):随机多个词语nb是数量,对于words来说是返回多少个词语
fake.sentence(nb_words=6, variable_nb_words=True, ext_word_list=None):随机短语(会包括短语结束标志点号)fake.paragraph(nb_sentences=3, variable_nb_sentences=True, ext_word_list=None):随机段落fake.paragraphs(nb=3, ext_word_list=None):多个随机段落
数据类型类
fake.pystr(min_chars=None, max_chars=20):自定义长度的随机字符串fake.pyint():随机整数