背景
每当建表之后,常常需要写一批假的数据,用于测试算法、数据量的压力测试、列表翻页、
查看详情、数据关联等。这时就需要借助一款造数据的工具,它就是今天所要介绍的 Faker。
介绍
Faker 这个工具不限于语言、它支持:Python、Java、Ruby、PHP、NodeJS 等等。其目
的是通过这个库,会生成一批假的数据。
如:仓库组经常需要一批数据来测试某个算法。业务组经常需要一批数据,让其他人知道这
个接口是否可用。某个字段应展示什么类型等等。
今天我会以 Python 版本的 Faker 为例,来介绍这个工具的用处。
场景案例
假设已经有一个商品表,其字段如下:
我需要生成 1W 条这样的数据,用于统计我每个用户创建了多少个商品。
# !/bin/bash python # Author wubaiqingfrom 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