python中造数据的库——faker
faker是一个Python包,为您生成你所需要的任何(假)数据。
1. 安装
pip install Faker
2. 语法
I. 引用
from faker import Faker
from faker import Factory #引入工厂类
II. 创建初始化生成器
fake = Faker()
可以在初始化时设置本地化,即是设定区域,如下:
'''
简体中文:zh_CN
繁体中文:zh_TW
美国英文:en_US
英国英文:en_GB
'''
fake = Faker("zh_CN")
# 上下相同用其一
fake = Factory().create('zh_CN')
3. 用法
person 人物
print(fake.name()) # 姓名
print(fake.last_name()) # 姓
print(fake.first_name()) # 名
print(fake.name_male()) # 男性姓名
print(fake.last_name_male()) # 男性姓
print(fake.name_female()) # 女性姓名
print(fake.first_name_female()) # 女性名
address 地址
print(fake.city()) # 城市名
print(fake.address()) # 地址
print(fake.street_address()) # 街道
print(fake.street_name()) # 街道名称
print(fake.street_suffix()) # 街道后缀(街,路)
print(fake.city_suffix()) # 市县
print(fake.building_number()) # 建筑编号
print(fake.longitude()) # 经纬
print(fake.latitude()) # 维度
print(fake.postcode()) # 邮政编码
print(fake.country()) # 国家
print(fake.province()) # 随机产生省份
color 颜色
# safe_ : 安全
print(fake.rgb_css_color()) # 颜色RGB
print(fake.rgb_color()) # 颜色RGB字符
print(fake.safe_color_name()) # 颜色名称
print(fake.hex_color()) # 16进制的颜色
print(fake.safe_hex_color()) # 16进制的颜色
file文件
print(fake.file_name(category="image", extension="jpg")) # 文件名(指定文件类型和后缀名)
print(fake.file_name(category=None, extension=None)) # 随机生成各类型文件
print(fake.file_extension(category=None)) # 文件后缀
print(fake.mime_type(category=None)) # 'multipart/form-data'
print(fake.file_path(depth=1, category=None, extension=None)) # '/教育/客户.js'
phone_number手机号
print(fake.phone_number()) # 手机号码
print(fake.phonenumber_prefix()) # 运营商号段,手机号码前三位
时间
# 随机产生时间
fake.month_name()
# 'September'
fake.date_time_this_century(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2010, 7, 21, 18, 52, 43)
fake.time_object(end_datetime=None)
# datetime.time(6, 39, 26)
fake.date_time_between(start_date="-30y", end_date="now", tzinfo=None)
# datetime.datetime(2013, 10, 11, 18, 43, 40)
fake.future_date(end_date="+30d", tzinfo=None)
# datetime.date(2018, 7, 8)
fake.date_time(tzinfo=None, end_datetime=None)
# datetime.datetime(2006, 9, 4, 20, 46, 6)
fake.date(pattern="%Y-%m-%d", end_datetime=None)
# '1998-08-02'
fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2018, 6, 8, 9, 56, 24)
fake.timezone()
# 'Africa/Conakry'
fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2017, 6, 27, 21, 18, 28)
fake.month()
# '04'
fake.day_of_week()
# 'Wednesday'
fake.iso8601(tzinfo=None, end_datetime=None)
# '1988-02-28T09:22:29'
fake.time_delta(end_datetime=None)
# datetime.timedelta(10832, 82660)
fake.date_object(end_datetime=None)
# datetime.date(2005, 8, 18)
fake.date_this_decade(before_today=True, after_today=False)
# datetime.date(2015, 1, 5)
fake.date_this_century(before_today=True, after_today=False)
# datetime.date(2000, 6, 1)
fake.date_this_month(before_today=True, after_today=False)
# datetime.date(2018, 6, 13)
fake.am_pm()
# 'AM'
fake.past_datetime(start_date="-30d", tzinfo=None)
# datetime.datetime(2018, 6, 25, 7, 41, 34)
fake.date_this_year(before_today=True, after_today=False)
# datetime.date(2018, 2, 24)
fake.date_time_between_dates(datetime_start=None, datetime_end=None, tzinfo=None)
# datetime.datetime(2018, 6, 26, 14, 40, 5)
fake.date_time_ad(tzinfo=None, end_datetime=None)
# datetime.datetime(673, 1, 28, 18, 17, 55)
fake.date_between_dates(date_start=None, date_end=None)
# datetime.date(2018, 6, 26)
fake.future_datetime(end_date="+30d", tzinfo=None)
# datetime.datetime(2018, 7, 4, 10, 53, 6)
fake.century()
# 'IX'
fake.past_date(start_date="-30d", tzinfo=None)
# datetime.date(2018, 5, 30)
fake.time(pattern="%H:%M:%S", end_datetime=None)
# '01:32:14'
fake.day_of_month()
# '19'
fake.unix_time(end_datetime=None, start_datetime=None)
# 1284297794
fake.date_time_this_year(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2018, 5, 24, 11, 25, 25)
fake.date_between(start_date="-30y", end_date="today")
# datetime.date(2003, 1, 11)
fake.year()
# '1993'
fake.time_series(start_date="-30d", end_date="now", precision=None, distrib=None, tzinfo=None)
# <generator object time_series at 0x7f44e702a620>
字符
# 产生长度在最大值与最小值之间的随机字符串
print(fake.pystr(min_chars=0, max_chars=8))
# 汉字字符
print(fake.word())
# 记者
print(fake.words(nb=3, ext_word_list=None, unique=False))
# ['企业', '阅读', '数据']
print(fake.sentence(nb_words=4, variable_nb_words=True, ext_word_list=None)) # 句子
# 开始积分需要.
print(fake.sentences(nb=3, ext_word_list=None))
# ['中文浏览资料记者.', '的是基本很多深圳国家然后.', '国际积分不会.']
print(fake.paragraph(nb_sentences=2, variable_nb_sentences=True, ext_word_list=None)) #段落
# 网上注意管理注册地区还有.国家选择管理各种研究论坛活动.
print(fake.paragraphs(nb=2, ext_word_list=None))
# ['技术关于国际开发的是部门一点.已经那个手机只是来自类型.支持问题成为支持.拥有下载喜欢自己根据.', '还是浏览你们发布我们方法虽然.']
print(fake.text(max_nb_chars=200, ext_word_list=None)) # 200个字
print(fake.texts(nb_texts=2, max_nb_chars=10, ext_word_list=None)) # 列表每个元素10个字
``
其他
# 产生随机email
print(fake.email())
# 公司邮箱
print(fake.company_email())
# 免费邮箱
print(fake.free_email())
# 安全邮箱
print(fake.safe_email())
# ipv6地址
print(fake.ipv6(network=False))
# 产生随机IPV4地址
print(fake.ipv4())
# 随机产生车牌号
print(fake.license_plate())
# 公司名后缀
print(fake.company_suffix())
# 随机产生公司名
print(fake.company())
# 随机产生工作岗位
print(fake.job())
# 随机生成密码
print(fake.password(length=10, special_chars=True, digits=True, upper_case=True, lower_case=True))
# 随机生成uuid
print(fake.uuid4())
# 随机生成sha1
print(fake.sha1(raw_output=False))
# 随机生成md5
print(fake.md5(raw_output=False))
# 生成基本信息
print(fake.profile(fields=None, sex=None))
print(fake.simple_profile(sex=None))
# 随机生成浏览器头user_agent
print(fake.user_agent())
# IE浏览器
print(fake.internet_explorer())
# opera浏览器
print(fake.opera())
# firefox浏览器
print(fake.firefox())
# chrome浏览器
print(fake.chrome())
更多方法详情参考文档
locales/zh_CN文档