Python 如何调用 Faker 生成数据?

您所在的位置:网站首页 en-后缀 Python 如何调用 Faker 生成数据?

Python 如何调用 Faker 生成数据?

2023-04-13 20:24| 来源: 网络整理| 查看: 265

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

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

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

一. 安装pip install faker二. 基本用法

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())

下面是执行结果:

三. 常见数据

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-type3.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()



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3