1. 程式人生 > 其它 >Python造假資料,用這個庫

Python造假資料,用這個庫

Faker擴充套件庫

這時,Python擴充套件庫Faker來了,帶著它那各種各樣的資料來了。

先安裝faker

pip install Faker

建立faker物件

from faker import Faker
fake = Faker()

隨機生成一個名字

fake.name()  # 'Nancy Horton'

上邊生成的名字是英文的,想要箇中文名字怎麼辦?

很簡單,在建立Faker物件的時候,指定語言“中文”就可以。

fake = Faker("zh_CN")

一些常用的語言包括以下等等:

  • 簡體中文:zh_CN
  • 繁體中文:zh_TW
  • 美國英文:en_US
  • 英國英文:en_GB
  • 德文:de_DE
  • 日文:ja_JP
  • 韓文:ko_KR
  • 法文:fr_FR

都有什麼樣的資料

用faker可以生成哪些資料呢?

faker 提供了一些Standard Providers,列出了一些較為較為常用的資料。

  • address
  • company
  • date_time
  • job
  • person
  • phone_number
  • profile
  • python
  • user_agent

比如生成“地址”資訊

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, '時候': '[email protected]'}

生成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': '[email protected]',
 'birthdate': datetime.date(1971, 2, 13)}

如果想生成多條個人資訊,可以利用for迴圈,把每個字典在新增到列表裡,匯出一個DataFrame