一个「神奇」的Python库,99%的人都爱!
Python客栈
共 5174字,需浏览 11分钟
·
2022-04-07 10:10
背景介绍
姓名
、所在省份
、详细地址
、手机号
、身份证号
、出生年月
、邮箱
等。实战:模拟1w条数据写入Excel
from faker import Faker
import pandas as pd
fake = Faker(["zh_CN"])
Faker.seed(0)
def get_data():
key_list = ["姓名","详细地址","所在省份","手机号","身份证号","出生年月","邮箱"]
name = fake.name()
address = fake.address()
province = address[:3]
number = fake.phone_number()
id_card = fake.ssn()
birth_date = id_card[6:14]
email = fake.email()
info_list = [name,address,province,number,id_card,birth_date,email]
person_info = dict(zip(key_list,info_list))
return person_info
df = pd.DataFrame(columns=["姓名","详细地址","所在省份","手机号","身份证号","出生年月","邮箱"])
for i in range(10000):
person_info = [get_data()]
df1 = pd.DataFrame(person_info)
df = pd.concat([df,df1])
df.to_excel("模拟数据.xlsx",index=None)
上述数据纯属模拟,如果雷同,请勿对号!
Python库讲解
pip install Faker -i https://pypi.tuna.tsinghua.edu.cn/simple/
from faker import Faker
1. 生成姓名
fake = Faker(locale='zh_CN')
name = fake.name()
name
2. 生成详细地址
address = fake.address()
address
3. 生成所在省份
province = address[:3]
province
fake.province()
4. 生成手机号
number = fake.phone_number()
number
5. 生成身份证号
id_card = fake.ssn()
id_card
6. 生成出生年月
birth_date = id_card[6:14]
birth_date
7. 生成邮箱
email = fake.email()
补充
address 地址 person 人物类:性别、姓名等 barcode 条码类 color 颜色类 company 公司类:公司名、email、公司名前缀等 credit_card 银行卡类:卡号、有效期、类型等 currency 货币 date_time 时间日期类:日期、年、月等 file 文件类:文件名、文件类型、文件扩展名等 internet 互联网类 job 工作 lorem 乱数假文 misc 杂项类 phone_number 手机号码类:手机号、运营商号段 python python数据 profile 人物描述信息:姓名、性别、地址、公司等 ssn 社会安全码(身份证号码) user_agent 用户代理
1. address 地址
fake.country() # 国家
fake.city() # 城市
fake.city_suffix() # 城市的后缀,中文是:市或县
fake.address() # 地址
fake.street_address() # 街道
fake.street_name() # 街道名
fake.postcode() # 邮编
fake.latitude() # 维度
fake.longitude() # 经度
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. 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() # 安全颜色名字
4. company 公司
fake.company() # 公司名
fake.company_suffix() # 公司名后缀
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) # 完整卡信息
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) # 公元后随机日期
7. file 文件
fake.file_name(category="image", extension="png") # 文件名(指定文件类型和后缀名)
fake.file_name() # 随机生成各类型文件
fake.file_extension(category=None) # 文件后缀
fake.mime_type(category=None) # mime-type
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() # 邮箱
9. job 工作
fake.job()#工作职位
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) # 随机生成成几段文字(列表)
11. phone_number 电话号码
fake.phone_number() # 手机号码
fake.phonenumber_prefix() # 运营商号段,手机号码前三位
12. ssn 社会安全码(身份证)
fake.ssn() # 随机生成身份证号(18位)
评论