再也不用線上倒資料了,使用 Faker 來造一批假的資料吧。

weixin_34037977發表於2018-01-29

 

背景
每當建表之後,常常需要寫一批假的資料,用於測試演算法、資料量的壓力測試、列表翻頁、

檢視詳情、資料關聯等。這時就需要藉助一款造資料的工具,它就是今天所要介紹的 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

相關文章