技巧 | 一个以假乱真的Python库,我裂开了。。
1. 安装
直接pip安装即可:
pip install Faker
2. 使用
2.1 简单使用
创建虚拟姓名、电话号码、地址等信息:
from faker import Fakerfake = Faker()fake.name()# 'Jonathon Dixon'fake.phone_number()# '262-035-1927'fake.address()# '590 Hart MotorwaySergioshire, NM 76453'
2.2 国内信息
这个库默认显示是国外的信息,接下来我们设置一下国内信息:from faker import Fakerfake = 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 - Bulgarianbs_BA - Bosniancs_CZ - Czechde_DE - Germandk_DK - Danishel_GR - Greeken_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 - Estonianfa_IR - Persian (Iran)fi_FI - Finnishfr_FR - Frenchhi_IN - Hindihr_HR - Croatianhu_HU - Hungarianhy_AM - Armenianit_IT - Italianja_JP - Japaneseka_GE - Georgian (Georgia)ko_KR - Koreanlt_LT - Lithuanianlv_LV - Latvianne_NP - Nepalinl_NL - Dutch (Netherlands)no_NO - Norwegianpl_PL - Polishpt_BR - Portuguese (Brazil)pt_PT - Portuguese (Portugal)ro_RO - Romanianru_RU - Russiansl_SI - Slovenesv_SE - Swedishtr_TR - Turkishuk_UA - Ukrainianzh_CN - Chinese (China Mainland)zh_TW - Chinese (China Taiwan)
2.3 生成个人档案信息
fake.profile(fields=None, sex=None)
2.4 批量生成人员信息
import collectionsimport ngenderimport datetimeimport pandas as pdall_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)
address 地址
person 人物类
barcode 条码类
color 颜色类
company 公司类
立即学习“Python免费学习笔记(深入)”;
credit_card 银行卡类
currency 货币
date_time 时间日期类
file 文件类
internet 互联网类
job 工作
lorem 乱数假文
misc 杂项类
phone_number 手机号
python python数据
profile 档案信息
ssn 身份证号码
user_agent 用户代理
官方文档:
https://faker.readthedocs.io/en/master/