Python数据生产器

在软件开发、测试或者数据分析过程中,有时候会需要一些测试数据。做测试的时候,需要模拟真实的环境,但是又不能直接使用真实数据,就需要我们人为制造一些数据出来。

当需要的数据比较多,本身又不存在要手动创建的时候,你会创建造假数据可能比技术本身还让人头疼。今天就为大家介绍一个造假数据的Python神器 - Facker

Faker是一个Python包,开源的GITHUB项目,主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。它可生成我们生活中大多数常用的数据,包括:姓名、所在省份、详细地址、手机号、身份证号、出生年月、邮箱等。

1. 安装

pip install faker

2. 基本用法

Faker的使用起来非常简单,先创建一个Faker对象,然后调用方法直接产生需要的数据。

from faker import Faker
# 1. 创建Faker对象,设置语言

faker = Faker(locale='zh_CN')

创建Faker对象的时候需要设置创建的数据对应的语言,默认是英文数据。下面是所有可用的语言值:

可选择的语言:
ar_EG  - 阿拉伯语 - 埃及
ar_PS  - 阿拉伯语 - 巴勒斯坦
ar_SA  - 阿拉伯语 - 沙特阿拉伯
bg_BG  - 保加利亚语 - 保加利亚
cs_CZ  - 捷克语 - 捷克
de_DE  - 德语 - 德国
dk_DK  - 丹麦语 - 丹麦
el_GR  - 希腊语 - 希腊
en_AU  - 英语 - 澳大利亚
en_CA  - 英语 -   加拿大
en_GB  - 英语 - 英国
en_US  - 英语 -   美国
es_ES  - 西班牙语 - 西班牙
es_MX  - 西班牙语- 墨西哥
et_EE  - 爱沙尼亚语 - 爱沙尼亚
fa_IR  - 波斯语 - 伊朗
fi_FI  - 芬兰语 - 芬兰
fr_FR  - 法语 - 法国
hi_IN  - 印地语 - 印度
hr_HR  - 克罗地亚语 
hu_HU  - 匈牙利语
hy_AM  - 亚美尼亚语
it_IT  - 意大利语
ja_JP  - 日语
ko_KR  - 朝鲜语
ka_GE  - 格鲁吉亚语
lt_LT  - 立陶宛语 
lv_LV  - 拉脱维亚语
ne_NP  - 尼泊尔语
nl_NL  - 德语
no_NO  - 挪威语
pl_PL  - 波兰语
pt_BR  - 葡萄牙语   - 巴西
pt_PT  - 葡萄牙语 - 葡萄牙
ru_RU  - 俄语
sl_SI  - 斯诺文尼亚语
sv_SE  - 瑞典语 
tr_TR  - 土耳其语
uk_UA  - 乌克兰语
zh_CN  - 简体中文
zh_TW  - 繁体中文

通过Faker对象可以调用不同的方法来生成不同的信息对应的数据,下面通过代码生成几个常见的数据:

# 2.常见的信息
# 姓名
print(faker.name())
# 详细地址
print(faker.address())
# 省份
print(faker.province())
# 电话号码
print(faker.phone_number())
# 身份证号码
print(faker.ssn())
# 出生年月
print(faker.ssn()[6:14])
# 邮箱
print(faker.email())

下面是执行结果:

Python数据生产器_第1张图片

3. 常见数据

3.1 address 地址

fake.country()  # 国家
fake.city()  # 城市
fake.city_suffix()  # 城市的后缀,中文是:市或县
fake.address()  # 地址
fake.street_address()  # 街道
fake.street_name()  # 街道名
fake.postcode()  # 邮编
fake.latitude()  # 维度
fake.longitude()  # 经度

3.2 person 人物

fake.name() # 姓名
fake.last_name() # 姓
fake.first_name() # 名
fake.name_male() # 男性姓名
fake.last_name_male() # 男性姓
fake.first_name_male() # 男性名
fake.name_female() # 女性姓名

3.3 color 颜色

fake.hex_color() # 16进制表示的颜色
fake.rgb_css_color() # css用的rgb色
fake.rgb_color()  # 表示rgb色的字符串
fake.color_name() # 颜色名字
fake.safe_hex_color()  #安全16进制色
fake.safe_color_name() # 安全颜色名字

3.4 company 公司

fake.company() # 公司名
fake.company_suffix() # 公司名后缀

3.5 credit_card 银行信用卡

fake.credit_card_number(card_type=None) # 卡号
fake.credit_card_provider(card_type=None) # 卡的提供者
fake.credit_card_security_code(card_type=None)# 卡的安全密码
fake.credit_card_expire() # 卡的有效期
fake.credit_card_full(card_type=None) # 完整卡信息

3.6 date_time 时间日期

fake.date_time(tzinfo=None) # 随机日期时间
fake.iso8601(tzinfo=None) # 以iso8601标准输出的日期
fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None) # 本月的某个日期
fake.date_time_this_year(before_now=True, after_now=False, tzinfo=None) # 本年的某个日期
fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=None)  # 本年代内的一个日期
fake.date_time_this_century(before_now=True, after_now=False, tzinfo=None)  # 本世纪一个日期
fake.date_time_between(start_date="-30y", end_date="now", tzinfo=None)  # 两个时间间的一个随机时间
fake.timezone() # 时区
fake.time(pattern="%H:%M:%S") # 时间(可自定义格式)
fake.am_pm() # 随机上午下午
fake.month() # 随机月份
fake.month_name() # 随机月份名字
fake.year() # 随机年
fake.day_of_week() # 随机星期几
fake.day_of_month() # 随机月中某一天
fake.time_delta() # 随机时间延迟
fake.date_object()  # 随机日期对象
fake.time_object() # 随机时间对象
fake.unix_time() # 随机unix时间(时间戳)
fake.date(pattern="%Y-%m-%d") # 随机日期(可自定义格式)
fake.date_time_ad(tzinfo=None)  # 公元后随机日期

3.7 file 文件

fake.file_name(category="image", extension="png") # 文件名(指定文件类型和后缀名)
fake.file_name() # 随机生成各类型文件
fake.file_extension(category=None) # 文件后缀
fake.mime_type(category=None) # mime-type

3.8 internet 互联网

fake.ipv4(network=False)  # ipv4地址
fake.ipv6(network=False)  # ipv6地址
fake.uri_path(deep=None) # uri路径
fake.uri_extension() # uri扩展名
fake.uri() # uri
fake.url() # url
fake.image_url(width=None, height=None)  # 图片url
fake.domain_word() # 域名主体
fake.domain_name() # 域名
fake.tld() # 域名后缀
fake.user_name() # 用户名
fake.user_agent() # UA
fake.mac_address() # MAC地址
fake.safe_email() # 安全邮箱
fake.free_email() # 免费邮箱
fake.company_email()  # 公司邮箱
fake.email() # 邮箱

3.9 job 工作

fake.job()#工作职位

3.10 lorem 乱数假文

fake.text(max_nb_chars=200) # 随机生成一篇文章
fake.word() # 随机单词
fake.words(nb=3)  # 随机生成几个字
fake.sentence(nb_words=6, variable_nb_words=True)  # 随机生成一个句子
fake.sentences(nb=3) # 随机生成几个句子
fake.paragraph(nb_sentences=3, variable_nb_sentences=True)  # 随机生成一段文字(字符串)
fake.paragraphs(nb=3)  # 随机生成成几段文字(列表)

3.11 phone_number 电话号码

fake.phone_number() # 手机号码
fake.phonenumber_prefix() # 运营商号段,手机号码前三位

3.12 ssn 社会安全码(身份证

fake.ssn() # 随机生成身份证号(18位)

3.13 user_agent 用户代理

fake.user_agent()

这里为大家推荐一套Python入门全套视频教程基础+进阶+高级+项目+知识点总结,全套800集完整版(学完可就业/入门到精通),全网最全&官方版本,名师精讲,最适合零基础小白学习的!python视频。

你可能感兴趣的:(Python,python,开发语言)