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()
:随机整数