全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

Python数据生产器

来源:千锋教育
发布人:gxy
2023-03-28

推荐

在线提问>>

  Python数据生产器

Python数据生产器

 

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

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

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

  1. 安装

  pip install faker

  复制代码

  2. 基本用法

  Faker的使用起来非常简单,先创建一个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. 常见数据

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

相关文章

跨域如何解决

Null和undefined的区别

Python数据生产器

react中怎么实现vue中的计算属性以及watch

经典面试题:static加载机制你知道吗?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取