Python中Faker庫介紹及如何使用創造模擬資料
開發專案的時,為了測試常需要造假資料,經常要儘量的模擬真實環境,通常要費大量手工而且造出來的資料,而且通常手工造出來的看起來也很彆扭,費時又費事,有沒有更好的辦法?有,這裡給大家介紹一個“專業造數“庫Faker,滿足你對模擬資料的所有需求。
安裝Faker
可在安裝路徑下檢視所提供的資料:
裡面有個 引數 locale:為生成資料的文化選項(語種),預設為 en_US,只有使用了相關文化,才能生成相對應的隨機資訊
常見的文化選項:
-
zh_CN - Chinese (China Mainland)
-
zh_TW - Chinese (China Taiwan)
-
en_US - English (United States)
因為省份和城市都是隨機生成的,可能不匹配。畢竟是假資料嗎,所以問題不大!!
以上是對Faker進行簡要的介紹,接下來測試一下效果!!
簡單使用:
其他方法
city_suffix():市,縣
country():國家
country_code():國家編碼
district():區
geo_coordinate():地理座標
latitude():地理座標(緯度)
longitude():地理座標(經度)
postcode():郵編
province():省份
address():詳細地址
street_address():街道地址
street_name():街道名
street_suffix():街、路
基礎資訊類
ssn():生成身份證號
bs():隨機公司服務名
company():隨機公司名(長)
company_prefix():隨機公司名(短)
company_suffix():公司性質,如'資訊有限公司'
credit_card_expire():隨機信用卡到期日,如'03/30'
credit_card_full():生成完整信用卡資訊
credit_card_number():信用卡號
credit_card_provider():信用卡型別
credit_card_security_code():信用卡安全碼
job():隨機職位
first_name_female():女性名
first_name_male():男性名
name():隨機生成全名
name_female():男性全名
name_male():女性全名
phone_number():隨機生成手機號
phonenumber_prefix():隨機生成手機號段,如139
郵箱資訊類
ascii_company_email():隨機ASCII公司郵箱名
ascii_email():隨機ASCII郵箱:
company_email():公司郵箱
email():普通郵箱
safe_email():安全郵箱
網路基礎資訊類
domain_name():生成域名
domain_word():域詞(即,不包含字尾)
ipv4():隨機IP4地址
ipv6():隨機IP6地址
mac_address():隨機MAC地址
tld():網址域名字尾(.com,.net.cn,等等,不包括.)
uri():隨機URI地址
uri_extension():網址檔案字尾
uri_page():網址檔案(不包含字尾)
uri_path():網址檔案路徑(不包含檔名)
url():隨機URL地址
user_name():隨機使用者名稱
image_url():隨機URL地址
數字資訊
numerify():三位隨機數字
random_digit():0~9隨機數
random_digit_not_null():1~9的隨機數
random_int():隨機數字,預設0~9999,可以通過設定min,max來設定
random_number():隨機數字,引數digits設定生成的數字位數
pyfloat():隨機Float數字
pyint():隨機Int數字(參考random_int()引數)
pydecimal():隨機Decimal數字(參考pyfloat引數)
文字加密類
pystr():隨機字串
random_element():隨機字母
random_letter():隨機字母
paragraph():隨機生成一個段落
paragraphs():隨機生成多個段落
sentence():隨機生成一句話
sentences():隨機生成多句話,與段落類似
text():隨機生成一篇文章
word():隨機生成詞語
words():隨機生成多個詞語,用法與段落,句子,類似
binary():隨機生成二進位制編碼
boolean():True/False
language_code():隨機生成兩位語言編碼
locale():隨機生成語言/國際 資訊
md5():隨機生成MD5
null_boolean():NULL/True/False
password():隨機生成密碼,可選引數:length:密碼長度;special_chars:是否能使用特殊字元;digits:是否包含數字;upper_case:是否包含大寫字母;lower_case:是否包含小寫字母
sha1():隨機SHA1
sha256():隨機SHA256
uuid4():隨機UUID
時間資訊類
date():隨機日期
date_between():隨機生成指定範圍內日期,引數:start_date,end_date
date_between_dates():隨機生成指定範圍內日期,用法同上
date_object():隨機生產從1970-1-1到指定日期的隨機日期。
date_time():隨機生成指定時間(1970年1月1日至今)
date_time_ad():生成公元1年到現在的隨機時間
date_time_between():用法同dates
future_date():未來日期
future_datetime():未來時間
month():隨機月份
month_name():隨機月份(英文)
past_date():隨機生成已經過去的日期
past_datetime():隨機生成已經過去的時間
time():隨機24小時時間
timedelta():隨機獲取時間差
time_object():隨機24小時時間,time物件
time_series():隨機TimeSeries物件
timezone():隨機時區
unix_time():隨機Unix時間
year():隨機年份
隨機生成一些資訊寫入Excel表格中:
import os
from faker import Faker
from openpyxl import workbook # 寫入Excel表所用
from openpyxl import load_workbook # 讀取Excel表所用
wb = workbook.Workbook() # 建立Excel物件
faker = Faker("zh-CN")
ws = wb.active # 獲取當前正在操作的表物件
# 往表中寫入標題行,以列表形式寫入!
ws.append(['序號', '姓名', '身份證號碼', '手機號', '公司郵箱', '公司名','郵編','家庭住址'])
#隨機生成15條資料存入Excel中
for i in range(15):
ws.append([i, faker.name(), faker.ssn(), faker.phone_number(), faker.company_email(), faker.company(),faker.postcode(),faker.address()])
wb.save('faker.xlsx')
執行效果:
參考:https://blog.csdn.net/mall_lucy/article/details/108655317
公眾號:Python開發者 《Python中神奇的第三方庫:Faker》
相關文章
- Python模擬資料生成庫FakerPython
- MongoDB 資料庫介紹及安裝MongoDB資料庫
- faker生成器生成虛擬資料的Python模組Python
- HSQL 資料庫介紹(2)--使用SQL資料庫
- 資料庫介紹資料庫
- Python APScheduler介紹及使用Python
- 【Python Oracle】使用cx_Oracle 進行資料庫操作介紹PythonOracle資料庫
- [原創]zabbix工具介紹,安裝及使用
- 資料庫介紹--初識資料庫資料庫
- H2 資料庫介紹(2)--使用資料庫
- IndexedDB資料庫介紹Index資料庫
- Faker資料填充
- L10資料庫——資料庫介紹資料庫
- 如何使用ChatGPT模擬MySQL資料庫ChatGPTMySql資料庫
- MySQL資料庫備份工具Mydumper使用介紹MySql資料庫
- python3中的re模組簡單介紹及使用Python
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- Python資料分析--工具安裝及Numpy介紹(1)Python
- MySQL資料庫鎖介紹MySql資料庫
- postgresql資料庫鎖介紹SQL資料庫
- sqlite輕量型資料庫的介紹及應用SQLite資料庫
- Python greenlet使用介紹及實現原理Python
- 如何恢復Mysql資料庫的詳細介紹MySql資料庫
- 資料倉儲—資料庫—Oracle 介紹資料庫Oracle
- 資料庫中跨平臺遷移方法介紹資料庫
- 如何使用 Faker.js 來 Mock Node.js 應用資料MockNode.js
- vagrant介紹及使用
- 資料庫連線池基本介紹及常用jar包<一>資料庫JAR
- [轉]介紹了Oracle資料庫鎖的種類及研究Oracle資料庫
- Android資料儲存之Sqlite的介紹及使用AndroidSQLite
- 資料庫安全知識介紹資料庫
- QuestDB時序資料庫介紹資料庫
- Python中pandas是什麼?資料結構介紹!Python資料結構
- Python虛擬環境工具-Virtualenv 介紹及部署記錄Python
- JDK中內嵌JS引擎介紹及使用JDKJS
- 資料倉儲—資料庫—SQL Server 介紹資料庫SQLServer
- Python虛擬環境介紹Python
- Oracle資料庫使用者安全策略功能介紹Oracle資料庫