技巧 | 一个以假乱真的Python库,我裂开了。。

简介: 技巧 | 一个以假乱真的Python库,我裂开了。。

大家好,我是欧K~

今天逛GitHub的时候发现一个很牛X的库 -- Faker,这个库能给生成一些虚假的信息,包括个人信息或者一些测试数据,如果我们在开发中需要利用一些假数据来做测试,那么这个库就派上用场啦~

1. 安装

直接pip安装即可:

pip install Faker


2. 使用

2.1 简单使用

创建虚拟姓名、电话号码、地址等信息:

from faker import Faker
fake = Faker()
fake.name()
# 'Jonathon Dixon'
fake.phone_number()
# '262-035-1927'
fake.address()
# '590 Hart Motorway\nSergioshire, NM 76453'


2.2 国内信息

这个库默认显示是国外的信息,接下来我们设置一下国内信息

from faker import Faker
fake = Faker('zh_CN')
fake.name()
# '汪雪梅'
fake.phone_number()
# '18535612607'
fake.address()
# '重庆市秀云县静安潜江街X座 690499'

是不是可以假乱真~

当然,如果要生成其他语种或地区的数据,也是可以的,直接替换Faker参数即可,以下是这个库所支持的语种:

ar_EG - Arabic (Egypt)
ar_PS - Arabic (Palestine)
ar_SA - Arabic (Saudi Arabia)
bg_BG - Bulgarian
bs_BA - Bosnian
cs_CZ - Czech
de_DE - German
dk_DK - Danish
el_GR - Greek
en_AU - English (Australia)
en_CA - English (Canada)
en_GB - English (Great Britain)
en_NZ - English (New Zealand)
en_US - English (United States)
es_ES - Spanish (Spain)
es_MX - Spanish (Mexico)
et_EE - Estonian
fa_IR - Persian (Iran)
fi_FI - Finnish
fr_FR - French
hi_IN - Hindi
hr_HR - Croatian
hu_HU - Hungarian
hy_AM - Armenian
it_IT - Italian
ja_JP - Japanese
ka_GE - Georgian (Georgia)
ko_KR - Korean
lt_LT - Lithuanian
lv_LV - Latvian
ne_NP - Nepali
nl_NL - Dutch (Netherlands)
no_NO - Norwegian
pl_PL - Polish
pt_BR - Portuguese (Brazil)
pt_PT - Portuguese (Portugal)
ro_RO - Romanian
ru_RU - Russian
sl_SI - Slovene
sv_SE - Swedish
tr_TR - Turkish
uk_UA - Ukrainian
zh_CN - Chinese (China Mainland)
zh_TW - Chinese (China Taiwan)


2.3 生成个人档案信息

fake.profile(fields=None, sex=None)

结果:


2.4 批量生成人员信息

import collections
import ngender
import datetime
import pandas as pd
all_info = []
pa_list = ['name','gender', 'age', 'job', 'company', 'address', 'phone_number', 'company_email']
for i in range(15):
    people = collections.namedtuple('User', pa_list)
    people.name = fake.name()
    people.gender = '男' if ngender.guess(people.name)[0] == 'male' else '女'
    people.age = datetime.datetime.now().year - fake.date_of_birth(tzinfo=None, minimum_age=25, maximum_age=40).year # 出生日期
    people.job = fake.job()
    people.company = fake.company()
    people.address = fake.address().split(' ')[0]
    people.phone_number = fake.phone_number()
    people.company_email = fake.company_email()
    lsts = [people.name, people.gender, people.age, people.job, people.company, people.address, people.phone_number, people.company_email]
    all_info.append(lsts)
pd.DataFrame(all_info,columns=pa_list)

效果:

fake 实例还有很多方法可用:

  • address 地址
  • person 人物类
  • barcode 条码类
  • color 颜色类
  • company 公司类
  • credit_card 银行卡类
  • currency 货币
  • date_time 时间日期类
  • file 文件类
  • internet 互联网类
  • job 工作
  • lorem 乱数假文
  • misc 杂项类
  • phone_number 手机号
  • python python数据
  • profile 档案信息
  • ssn 身份证号码
  • user_agent 用户代理

官方文档:

https://faker.readthedocs.io/en/master/


END


以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享让更多人知道

相关文章
|
9天前
|
Python
使用Python的openpyxl库
【5月更文挑战第17天】使用Python的openpyxl库
30 2
|
11天前
|
Python
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
28 3
|
1天前
|
机器学习/深度学习 数据处理 算法框架/工具
Python标准库与第三方库:强大的编程资源
Python标准库与第三方库:强大的编程资源
|
2天前
|
机器学习/深度学习 数据处理 算法框架/工具
Python库与框架的深入解析
Python中的库和框架扩展了其功能,提高了开发效率。库(如标准库os和第三方库requests)提供预定义的工具,而框架(如Web框架Flask和数据科学框架Scikit-learn)定义了应用结构和交互方式。通过库和框架,开发者能更专注于业务逻辑,快速构建Web应用和执行数据科学任务。
|
3天前
|
Python
python相关库的安装:pandas,numpy,matplotlib,statsmodels
python相关库的安装:pandas,numpy,matplotlib,statsmodels
|
4天前
|
Python
Python之Math库解析
Python之Math库解析
10 0
Python之Math库解析
|
4天前
|
数据采集 Web App开发 测试技术
玩转Python的fake-useragent库
玩转Python的fake-useragent库
|
5天前
|
数据采集 数据可视化 数据处理
利用Python和Pandas库实现高效的数据处理与分析
在大数据和人工智能时代,数据处理与分析已成为不可或缺的一环。Python作为一门强大的编程语言,结合Pandas库,为数据科学家和开发者提供了高效、灵活的数据处理工具。本文将介绍Pandas库的基本功能、优势,并通过实际案例展示如何使用Pandas进行数据清洗、转换、聚合等操作,以及如何利用Pandas进行数据可视化,旨在帮助读者深入理解并掌握Pandas在数据处理与分析中的应用。
|
6天前
|
架构师 数据挖掘 Python
最全pandas库(Python),2024年最新阿里云架构师面试
最全pandas库(Python),2024年最新阿里云架构师面试
最全pandas库(Python),2024年最新阿里云架构师面试
|
6天前
|
机器学习/深度学习 算法 前端开发
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累