Python faker生成数据

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

Faker是一个Python包,开源的GITHUB项目,主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。

https://github.com/joke2k/faker

语言支持:

  • 简体中文:zh_CN

  • 繁体中文:zh_TW

  • 美国英文:en_US

  • 英国英文:en_GB

  • 德文:de_DE

  • 日文:ja_JP

  • 韩文:ko_KR

  • 法文:fr_FR

conda  安装faker

(base) [root@pyspark ~]# conda install faker
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

environment location: /root/anaconda3

added / updated specs:
- faker


The following packages will be downloaded:

package | build
---------------------------|-----------------
ca-certificates-2019.10.16 | 0 131 KB
certifi-2019.9.11 | py37_0 154 KB
conda-4.7.12 | py37_0 3.0 MB
faker-2.0.2 | py37_0 1.4 MB
openssl-1.1.1d | h7b6447c_3 3.7 MB
text-unidecode-1.2 | py37_0 63 KB
------------------------------------------------------------
Total: 8.5 MB

The following NEW packages will be INSTALLED:

faker pkgs/main/linux-64::faker-2.0.2-py37_0
text-unidecode pkgs/main/linux-64::text-unidecode-1.2-py37_0

The following packages will be UPDATED:

ca-certificates conda-forge::ca-certificates-2019.9.1~ --> pkgs/main::ca-certificates-2019.10.16-0
openssl conda-forge::openssl-1.1.1c-h516909a_0 --> pkgs/main::openssl-1.1.1d-h7b6447c_3

The following packages will be SUPERSEDED by a higher-priority channel:

certifi conda-forge --> pkgs/main
conda conda-forge --> pkgs/main


Proceed ([y]/n)? y


Downloading and Extracting Packages
openssl-1.1.1d | 3.7 MB | ############################################################################################################# | 100%
certifi-2019.9.11 | 154 KB | ############################################################################################################# | 100%
faker-2.0.2 | 1.4 MB | ############################################################################################################# | 100%
conda-4.7.12 | 3.0 MB | ############################################################################################################# | 100%
text-unidecode-1.2 | 63 KB | ############################################################################################################# | 100%
ca-certificates-2019 | 131 KB | ############################################################################################################# | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(base) [root@pyspark faker]# faker --version
faker 2.0.2

from faker import Faker
f = Faker(locale="zh_CN")
for i in range(10):
print(f.name()+" "+f.address()+f.phone_number())

(base) [root@pyspark faker]# python fakertest.py
李秀兰 河南省成市大兴乔路a座 55025418524143216
刘阳 江苏省燕市新城柳州路D座 75452313589587678
刘平 贵州省丽娟市海港哈尔滨路e座 52287118026178868
马秀芳 福建省武汉市上街张家港街q座 91655718227982978
沙桂英 安徽省旭县黄浦赵街I座 51022114735698739
周春梅 重庆市鑫市沈河海门路I座 76978313142741948
程勇 新疆维吾尔自治区桂香县平山阜新路Q座 27110713644789383
黄刚 北京市深圳市海港永安街D座 17260513527084118
李倩 新疆维吾尔自治区刚县梁平成都路m座 31005215886267016
史娜 内蒙古自治区玉华市和平郜街Z座 85075015187273133

封装:

from faker import Faker

class MyFaker:
def __init__(self):
#选择中文语言
self.fake = Faker("zh_CN")

def gen_name(self):
return self.fake.name()

def gen_address(self):
return self.fake.address()

def gen_phon_number(self):
return self.fake.phone_number()

if __name__ == "__main__":
fake1 = MyFaker()
for i in range(10):
print(fake1.gen_name()+" "+fake1.gen_address()+" "+fake1.gen_phon_number())

王阳 辽宁省西安市锡山章街s座 106151 15633984776
杨玉兰 海南省宁德县和平台北路G座 589158 15242655224
盛志强 江苏省哈尔滨市锡山沈阳路j座 971375 18253873299
张磊 台湾省建县花溪袁街N座 150622 13654485648
欧阳玉英 天津市婷县六枝特蓝路j座 347271 18131690076
徐淑珍 天津市平市高坪韦路F座 777941 13583020064
单敏 重庆市辛集县沙湾张家港街e座 803072 18238051669
费洁 云南省秀英县门头沟王街L座 407805 18953467968
黎莹 香港特别行政区瑜县锡山陈路f座 108237 18258526522
吴欣 新疆维吾尔自治区梅县城东惠街z座 955573 18042203851

每次调用 fake 实例的 name()方法时,都会产生不同随机姓名。fake 实例还有很多方法可用,这些方法分为以下几类:

  • address 地址
  • person 人物类:性别、姓名等
  • barcode 条码类
  • color 颜色类
  • company 公司类:公司名、公司email、公司名前缀等
  • credit_card 银行卡类:卡号、有效期、类型等
  • currency 货币
  • date_time 时间日期类:日期、年、月等
  • file 文件类:文件名、文件类型、文件扩展名等
  • internet 互联网类
  • job 工作
  • lorem 乱数假文
  • misc 杂项类
  • phone_number 手机号码类:手机号、运营商号段
  • python python数据
  • profile 人物描述信息:姓名、性别、地址、公司等
  • ssn 社会安全码(身份证号码)
  • user_agent 用户代理

猜你喜欢

转载自www.cnblogs.com/songyuejie/p/11824812.html