簡述
Faker 是一款可以批量生成數據的工具包。本文主要分享Faker 在Python中的應用,此款工具另有Php,perl,Ruby 多種語言,可以根據自身需要選擇。
此款工具包,默認提供數據的類型,主要是面向用戶信息。用戶名,出生時間,地址,郵政編碼,公司信息,工作,geo,信用卡,手機號等。還提供python 類型數據(set,dict,list,decimal,str)模擬。
如果您需要批量生成用戶信息,則可以使用本工具包。
安裝
pip install Faker
使用
模擬用戶信息
def get_users():
list = []
fake = Faker(['en_US', 'ja_JP', 'zh_CN'])
for _ in range(3):
c = "{'title':'%s','date':'%s'}" % (fake.name(), fake.date())
dict = {}
dict['name'] = fake.name()
dict['date'] = fake.date()
dict['address'] = fake.address()
dict['credit_card'] = fake.credit_card_number()
# print("{'title':'%s','date':'%s'}," % (fake.name(), fake.date()))
list.append(dict)
return list
效果
[{
'name': 'Mrs. Tammy Arias DVM',
'date': '2002-10-09',
'address': '鳥取県日野市三ノ輪19丁目3番9號 一ツ橋クレスト965',
'credit_card': '4701071251218132'
},
{
'name': '青山 真綾',
'date': '2011-08-26',
'address': '山梨県長生郡長生村所野17丁目18番20號 アーバン東大和町521 ',
'credit_card ': '6583678930316471 '},
{
'name ': '李輝 ',
'date ': '2004 - 08 - 23 ',
'address ': '江西省志強市新城劉路J座,
'credit_card ': '676139019035 '}]
分析
faker 支持本地設置。如設置zh_CN 則生成國內的數據。
模擬Python 格式數據
fake = Faker(['it_IT', 'en_US', 'ja_JP', 'zh_CN'])
print("dict %s" % fake.pydict())
print("int %s" % fake.pyint())
print("list %s" % fake.pylist())
print("str %s" % fake.pystr())
效果
dict = {'進行': 'chepexxiPOMFbkWffTPl', '成為': 'HmBIlzYkaHuAXHMNLwCh', '價格': 2772, '幫助': 'yangmeng@tao.cn', '由於': 'http://juanming.cn/', '注冊': 'jurbXOVvviqckBmzlULG', '學生': Decimal('3820623.5'), '一下': 8357, '能夠': 'WOMBNUmMLTCSBoatCofZ', '質量': 'PFrtIldOxWinDxBkYaFC', '文件': 2094, '完成': 'AjGDbeKFGbOIBOaQyLNn'}
int = 4802
list = [6336.11407425, 'eSGXNlIGHMkIfTHexWNW', 'MIwgthmsJbSpWyEDIwZw', 2189, -945910936254.864, 'spencemichelle@marquez.com', datetime.datetime(1998, 10, 24, 16, 38, 17), 'IhbjNGsEcDbYpbuIxYac', 5250]
str = vMwHarwUoSvcHAvmUCVj
總結
faker 為模擬數據提供了幫助,faker 還提供很多類型數據模擬。可以參考官網 https://faker.readthedocs.io/en/master/index.html