背景
每當建表以後,經常須要寫一批假的數據,用於測試算法、數據量的壓力測試、列表翻頁、html
查看詳情、數據關聯等。這時就須要藉助一款造數據的工具,它就是今天所要介紹的 Faker。python
介紹git
Faker 這個工具不限於語言、它支持:Python、Java、Ruby、PHP、NodeJS 等等。其目github
的是經過這個庫,會生成一批假的數據。算法
如:倉庫組常常須要一批數據來測試某個算法。業務組常常須要一批數據,讓其餘人知道這bash
個接口是否可用。某個字段應展現什麼類型等等。app
今天我會以 Python 版本的 Faker 爲例,來介紹這個工具的用處。ide
場景案例
假設已經有一個商品表,其字段以下:函數
我須要生成 1W 條這樣的數據,用於統計我每一個用戶建立了多少個商品。工具
# !/bin/bash python # Author wubaiqing <wubaiqing@vip.qq.com> from faker import Faker fake = Faker('zh_CN') goodsList = [] # 生成 1W 條數據 for _ in range(0, 10000): goodsList.append({ 'goods_id': fake.pyint(), # * 看場景(自增ID一般不須要設置) 'title': fake.sentence(20), # 隨機生成20個漢字 'index_image_url': fake.image_url(400, 400), # 生成 400x400 的圖片(一般能夠訪問) 'created_at': fake.past_date('-1d').isoformat(), # 生成一個時間 'is_delete': fake.boolean(), # 隨機生成一個 Boolean 類型 'created_user_id': fake.pyint() # 隨機生成一個數字 }) print 'list length : %d' % len(goodsList)
如下是經常使用函數,詳細能夠看 Faker 手冊:
1. sentence 隨機生成字符串,根據語言類型可生成漢字。
2. image_url 隨機生成一張指定的圖片,大多數狀況能夠訪問。
3. boolean 隨機生成一個 Boolean 類型。
生成完的商品,批量導出 Excel 或批量入庫便可。這時就有了大
量的數據可供咱們使用。
參考連接
1. Python Faker:https://github.com/joke2k/faker
2. Python Faker 手冊:https://faker.readthedocs.io/en/master/locales/zh_CN.html#faker-providers-address
3. PHP Faker:https://github.com/fzaninotto/Faker
4. Ruby Faker:https://github.com/stympy/faker