扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Python如何用Faker造假数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联专业为企业提供陕州网站建设、陕州做网站、陕州网站设计、陕州网站制作等企业网站建设、网页设计与制作、陕州企业网站模板建站服务,10多年陕州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
在程序测试的时候,常常需要用到很多数据来进行测试。
比如姓名、性别、年龄、电话、邮箱等等。
如果手动制造数据的话,起名字比如“小明”、“小红”、“张三”、“李四”这些,有没有考虑这些名字的感受,他们也很累的吧。
再比如密码,网上排名最烂的密码,不也是“123456”,“abcdef”,“asdf”这些。
这样无厘头地制作数据确实很伤神,效率还低,那该怎么办?
这时,Python扩展库Faker来了,带着它那各种各样的数据来了。
先安装faker
pip install Faker
创建faker对象
from faker import Faker
fake = Faker()
随机生成一个名字
fake.name() # 'Nancy Horton'
上边生成的名字是英文的,想要个中文名字怎么办?
很简单,在创建Faker对象的时候,指定语言“中文”就可以。
fake = Faker("zh_CN")
一些常用的语言包括以下等等:
用faker可以生成哪些数据呢?
faker 提供了一些Standard Providers,列出了一些较为较为常用的数据。
比如生成“地址”信息
In [1]: fake.address()
Out[1]: '北京市大冶市海陵赵路x座 941837'
这里给出的是一整条“地址”的信息,你也可以通过building_number()、city()、street_address()等获取单个信息
这些字段其实记不住也没什么,需要用哪个的时候查阅官方文档就行。
文档链接
https://faker.readthedocs.io/en/master/providers.html
再比如生成“职位”信息
In [2]: fake.job()
Out[2]: '电气/电器工程师'
生成python的数据类型
# 生成一个字典
In [3]: fake.pydict()
Out[3]:
{'生产': 'OlmMWPfQMJYxeiJtZSFC',
'有些': 'jUYzbWgDEqvzjiAsubSX',
'资源': 7670,
'应用': 804210265906561.0,
'国际': 9113,
'电影': 'https://yangtang.cn/homepage.jsp',
'方面': 'RGfbqIgxqTbnjkGDpoVO',
'为什': 1947,
'地址': 7021,
'时候': 'oxia@hotmail.com'}
生成user_agent
In [4]: fake.chrome()
Out[4]: 'Mozilla/5.0 (iPad; CPU iPad OS 4_2_1 like Mac OS X) AppleWebKit/531.2 (KHTML, like Gecko) CriOS/55.0.807.0 Mobile/62B715 Safari/531.2'
生成个人信息
In [5]: fake.profile()
Out[5]:
{'job': '仓库管理员',
'company': '太极传媒有限公司',
'ssn': '370302198911123749',
'residence': '云南省桂英市沈北新王路k座 204494',
'current_location': (Decimal('32.942144'), Decimal('95.019663')),
'blood_group': 'O-',
'website': ['https://www.minyan.cn/'],
'username': 'yangwen',
'name': '蒋璐',
'sex': 'M',
'address': '宁夏回族自治区宁德县丰都长沙街a座 685268',
'mail': 'oliao@yahoo.com',
'birthdate': datetime.date(1971, 2, 13)}
如果想生成多条个人信息,可以利用for循环,把每个字典在添加到列表里,导出一个DataFrame
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流