再也不用线上倒数据了,使用 Faker 来造一批假的数据吧。

 

背景
每当建表之后,常常需要写一批假的数据,用于测试算法、数据量的压力测试、列表翻页、

查看详情、数据关联等。这时就需要借助一款造数据的工具,它就是今天所要介绍的 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

posted @ 2018-01-29 15:07  吴佰清  阅读(2194)  评论(0编辑  收藏  举报