Python的造数据的第三方库:Faker

1. 安装包

pip install Faker

2. 简单使用

>>> from faker import Faker
>>> fake = Faker(locale='zh_CN')
>>> fake.name()
'李洁'
>>> fake.address()
'上海市兴安盟县江北东莞路r座 803484'

参数 locale:为生成数据的文化选项(语种),默认为 en_US,只有使用了相关文化,才能生成相对应的随机信息

常见的文化选项:

  • zh_CN - Chinese (China Mainland)

  • zh_TW - Chinese (China Taiwan)

  • en_US - English (United States)

3. 其他方法

3.1 地理信息类

city_suffix():市,县
country():国家
country_code():国家编码
district():区
geo_coordinate():地理坐标
latitude():地理坐标(纬度)
longitude():地理坐标(经度)
postcode():邮编
province():省份
address():详细地址
street_address():街道地址
street_name():街道名
street_suffix():街、路

3.2 基础信息类

ssn():生成身份证号
bs():随机公司服务名
company():随机公司名(长)
company_prefix():随机公司名(短)
company_suffix():公司性质,如'信息有限公司'
credit_card_expire():随机信用卡到期日,如
'03/30'credit_card_full():生成完整信用卡信息
credit_card_number():信用卡号
credit_card_provider():信用卡类型
credit_card_security_code():信用卡安全码
job():随机职位
first_name_female():女性名
first_name_male():男性名
name():随机生成全名
name_female():男性全名
name_male():女性全名
phone_number():随机生成手机号
phonenumber_prefix():随机生成手机号段,如139

3.3 邮箱信息类

ascii_company_email():随机ASCII公司邮箱名
ascii_email():随机ASCII邮箱:
company_email():公司邮箱
email():普通邮箱
safe_email():安全邮箱

3.4 网络基础信息类

domain_name():生成域名
domain_word():域词(即,不包含后缀)
ipv4():随机IP4地址
ipv6():随机IP6地址
mac_address():随机MAC地址
tld():网址域名后缀(.com,.net.cn,等等,不包括.)
uri():随机URI地址
uri_extension():网址文件后缀
uri_page():网址文件(不包含后缀)
uri_path():网址文件路径(不包含文件名)
url():随机URL地址
user_name():随机用户名
image_url():随机URL地址

3.5 浏览器信息类

chrome():随机生成Chrome的浏览器user_agent信息
firefox():随机生成FireFox的浏览器user_agent信息
internet_explorer():随机生成IE的浏览器user_agent信息
opera():随机生成Opera的浏览器user_agent信息
safari():随机生成Safari的浏览器user_agent信息
linux_platform_token():随机Linux信息
user_agent():随机user_agent信息

3.6 数字信息

numerify():三位随机数字
random_digit():0~9随机数
random_digit_not_null():1~9的随机数
random_int():随机数字,默认0~9999,可以通过设置min,max来设置
random_number():随机数字,参数digits设置生成的数字位数
pyfloat():随机Float数字
pyint():随机Int数字(参考random_int()参数)
pydecimal():随机Decimal数字(参考pyfloat参数)

3.7 文本加密类

pystr():随机字符串
random_element():随机字母
random_letter():随机字母
paragraph():随机生成一个段落
paragraphs():随机生成多个段落
sentence():随机生成一句话
sentences():随机生成多句话,与段落类似
text():随机生成一篇文章
word():随机生成词语
words():随机生成多个词语,用法与段落,句子,类似
binary():随机生成二进制编码
boolean():True/False
language_code():随机生成两位语言编码
locale():随机生成语言/国际 信息
md5():随机生成MD5
null_boolean():NULL/True/False
password():随机生成密码,可选参数:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母
sha1():随机SHA1
sha256():随机SHA256
uuid4():随机UUID

4. 实战使用

在数据库建一张表,通过Faker造数据,插入到表中。并且打印Faker造的数据。

import pymysql
from faker import Faker

conn = pymysql.connect(host="114.215.129.166", port=3306, user="nice", password="", db="flask201",
                       charset="utf8")

cursor = conn.cursor()
sql1 = """drop table if exists faker_user"""
sql2 = """
create table faker_user(
pid int primary key auto_increment,
username varchar(20),
password varchar(20),
address varchar(35) 
)
"""
cursor.execute(sql1)
cursor.execute(sql2)
fake = Faker("zh-CN")
for i in range(20):
    sql = """insert into faker_user(username,password,address) 
    values('%s','%s','%s')""" % (fake.name(), fake.password(special_chars=False), fake.address())
    print('姓名:'+fake.name() + '|密码:'+fake.password(special_chars=False) + '|地址:'+fake.address())
    cursor.execute(sql)

conn.commit()
cursor.close()
conn.close()

输出的结果如下:

姓名:陆明|密码:wyweBqFe0X|地址:浙江省张家港市永川石家庄路v座 999991
姓名:樊荣|密码:phvLtL4HM1|地址:浙江省淑华县友好张路I座 521747
姓名:邢芳|密码:W68tZfjML5|地址:内蒙古自治区邯郸县秀英周街S座 463213
姓名:罗丹|密码:MWmKehhn8B|地址:台湾省昆明县吉区辽阳街h座 302265
姓名:赵静|密码:46MNJxm5n7|地址:湖北省秀华市永川陈路c座 285301
姓名:于丽华|密码:d9NO3kajWs|地址:天津市璐县沙湾李路n座 471100
姓名:沈峰|密码:MgTH1QDap2|地址:陕西省雪县吉区柳州街l座 747127
姓名:程佳|密码:77LDqBvixS|地址:山东省桂花县花溪白路V座 307443
姓名:杨倩|密码:QvY68U9tgE|地址:安徽省佳县白云哈尔滨路d座 565262
姓名:邓畅|密码:hN4USpnkn8|地址:江苏省邯郸县涪城呼和浩特街V座 124959
姓名:马婷|密码:0ubZSk2fTu|地址:四川省杭州县西峰赵路C座 199794
姓名:曹宇|密码:KJAnM1Zh66|地址:湖北省娜市怀柔兰州路U座 677786
姓名:吕玉|密码:t9E0yWfNDs|地址:甘肃省玲县蓟州文街T座 898633
姓名:蒋磊|密码:5IUzx61Ylb|地址:云南省玉兰市秀英巢湖街K座 760733
姓名:靳坤|密码:5nAOgzAGQd|地址:天津市建军县吉区郑州街w座 129513
姓名:高金凤|密码:96Qug0ReGL|地址:西藏自治区汕尾市蓟州海门路R座 570416
姓名:朱桂珍|密码:48BEl2zW60|地址:海南省福州市淄川合山街t座 939737
姓名:李柳|密码:12o6BdcbV3|地址:安徽省南京市沙市廖路W座 511546
姓名:吴春梅|密码:7PwAAjjrED|地址:山西省兰英县魏都杜路M座 742350
姓名:徐倩|密码:3ENglQ7Dqk|地址:四川省嘉禾县金平杨街Y座 716766
姓名:王红霞|密码:7K6roexVlD|地址:贵州省帅市江北兴城路x座 154787
姓名:叶宁|密码:Z98OVgUgFg|地址:福建省济南市徐汇韩路h座 229938
姓名:王凤英|密码:6WG2SzvsaW|地址:山西省海门市永川黄街P座 234530
姓名:沈桂芝|密码:n1xwc9RsR7|地址:广西壮族自治区长沙市山亭郭街p座 613453
姓名:王超|密码:c6l3AEXdU8|地址:浙江省通辽县萧山曾路R座 757552
姓名:杨淑英|密码:4NzPO0Wl5x|地址:台湾省艳县永川拉萨路u座 257321
姓名:赵梅|密码:MSUiPxzX1I|地址:辽宁省丽丽县丰都刘街d座 547089
姓名:钱玉英|密码:o1Y1WQddTH|地址:山西省桂兰县和平宋路e座 304551
姓名:林玲|密码:mGKfwoPg9L|地址:天津市海口市涪城邹街f座 382628
姓名:萧琴|密码:1QDbxdrbHM|地址:山西省荣市南湖李街y座 861282
姓名:周凯|密码:DNdmZPZz2M|地址:广东省汕尾市永川潘路H座 332006
姓名:李建华|密码:BFv7OFd64m|地址:贵州省平市高港辽阳路Y座 590695
姓名:田凤兰|密码:XWnL30Da5Y|地址:安徽省沈阳市花溪柳州街B座 933439
姓名:王建华|密码:5sVGRvt3O3|地址:山西省秀兰县沙湾郭路x座 776619
姓名:林燕|密码:3jPlLU9xDQ|地址:湖北省海口市沙湾合肥街b座 511251
姓名:吴琳|密码:KbdI3ZHb2M|地址:陕西省洋市朝阳荆门街O座 244984
姓名:陈秀梅|密码:Z8rKrnVD31|地址:河北省洁县吉区曾路v座 900793
姓名:赵兵|密码:hEHJJgnvD1|地址:香港特别行政区红梅县锡山苗路X座 978601
姓名:陈兵|密码:AoHCvfKw4i|地址:内蒙古自治区台北县璧山上海街Q座 310123
姓名:靳超|密码:6AuuXw8IGh|地址:江苏省广州市蓟州石路w座 275026
姓名:杨婷婷|密码:fArsEsyCD4|地址:广西壮族自治区利市友好济南路i座 632143
姓名:丁利|密码:WzUn0Tdgr9|地址:江西省海门市涪城吕路M座 182701
姓名:张文|密码:r0fIpMeZ3f|地址:辽宁省婷婷县黄浦阜新街t座 197710
姓名:金磊|密码:MycUjiyZn4|地址:江苏省辛集市永川孙街X座 623258
姓名:郭玉兰|密码:9835Ytp0zM|地址:青海省晨县朝阳张街M座 352332
姓名:陈倩|密码:0SQQ2c2w8f|地址:重庆市沈阳县长寿南宁路f座 761467
姓名:张艳|密码:4jGhFOlw2o|地址:广西壮族自治区俊县房山西安路T座 126962
姓名:董霞|密码:62yWnutu7P|地址:黑龙江省福州市长寿海口路y座 326750
姓名:黄敏|密码:y5IbxmE0Ws|地址:江西省娟县沈北新徐街k座 370911
姓名:徐杨|密码:8Eu6Zakua8|地址:澳门特别行政区成县城东杨路i座 376354
posted @ 2020-10-27 16:52  ainimore  阅读(515)  评论(0编辑  收藏  举报