背景
每當建表之後,常常需要寫一批假的資料,用於測試演算法、資料量的壓力測試、列表翻頁、
檢視詳情、資料關聯等。這時就需要藉助一款造資料的工具,它就是今天所要介紹的 Faker。
介紹
Faker 這個工具不限於語言、它支援:Python、Java、Ruby、PHP、NodeJS 等等。其目
的是通過這個庫,會生成一批假的資料。
如:倉庫組經常需要一批資料來測試某個演算法。業務組經常需要一批資料,讓其他人知道這
個介面是否可用。某個欄位應展示什麼型別等等。
今天我會以 Python 版本的 Faker 為例,來介紹這個工具的用處。
場景案例
假設已經有一個商品表,其欄位如下:
我需要生成 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