再也不用线上倒数据了,使用 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
再也不用线上倒数据了,使用 Faker 来造一批假的数据吧。的更多相关文章
- 自动造数据利器,Faker 了解一下?
1. 背景 在软件需求.开发.测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据.由于现在的业务系统数据多种多样,千变万化.在手动制造数据的 ...
- 利用线上数据验证系统 Gor
Web 应用性能和压力测试工具 Gor - 运维生存时间 http://hao.jobbole.com/gorhttp/ 要使用线上引流到测试环境的作用,需要做到以下几点: 1.新搭建一套测试环境,连 ...
- 结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程
1.bootstrap-fileinpu的简单介绍 在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用, ...
- 数据在千万级别上进行全文检索有哪些技术?强大的大数据全文索引解决方案-ClouderaSearch
数据在千万级别上进行全文检索有哪些技术?强大的大数据全文索引解决方案-ClouderaSearch1.lucene (solr, elasticsearch 都是基于它) 2.sphinx3.elas ...
- ARIMA模型——本质上是error和t-?时刻数据差分的线性模型!!!如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数
https://www.cnblogs.com/bradleon/p/6827109.html 文章里写得非常好,需详细看.尤其是arima的举例! 可以看到:ARIMA本质上是error和t-?时刻 ...
- (数据科学学习手札07)R在数据框操作上方法的总结(初级篇)
上篇我们了解了Python中pandas内封装的关于数据框的常用操作方法,而作为专为数据科学而生的一门语言,R在数据框的操作上则更为丰富精彩,本篇就R处理数据框的常用方法进行总结: 1.数据框的生成 ...
- (数据科学学习手札06)Python在数据框操作上的总结(初级篇)
数据框(Dataframe)作为一种十分标准的数据结构,是数据分析中最常用的数据结构,在Python和R中各有对数据框的不同定义和操作. Python 本文涉及Python数据框,为了更好的视觉效果, ...
- 编写Java程序,使用 dom4j 解析上一节王者荣耀“英雄”对应的Xml文件数据内容,打印输出,具体格式
查看本章节 查看作业目录 需求说明: 使用 dom4j 解析上一节王者荣耀"英雄"对应的Xml文件数据内容,打印输出,具体格式如图所示 实现思路: 创建ParseHeroXML用于 ...
- 树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)
前言 安装了mysq数据库,最终时为了实现在一个树莓派上实现多用户多进程操作的同步问题,避免数据并发出现一些错误,本篇安装了远程服务并且讲述了使用Qt进行悲观锁for update操作,命令行进行 ...
随机推荐
- crsf 跨站请求伪造
[crsf 跨站请求伪造] CSRF(Cross-site request forgery),中文名称:跨站请求伪造.核心为利用浏览器帮助提交cookie.采用随机数方可防御.估计大部小站均无CSRF ...
- PIE结对编程
学习进度条 点滴成就 学习时间 新编写代码行数 博客量 学到知识点 第一周 8 0 0 了解软件工程 第二周 7 0 1 了解软件工程 第三周 11 0 1 用例图 第四周 6 25 0 结对编程 第 ...
- Spring/AOP框架, 以及使用注解
1, 使用代理增加日志, 也是基于最原始的办法 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; ...
- for循环语句输出菱形
for(int a = 5; a > 0 ; a--){ for(int b = 1; b <= a; b++){ System.out.print(" "); } f ...
- Web服务技术协议:REST与SOAP
Web服务技术就有SOAP(Simple Object Access Protocol,简单对象访问协议)和REST(Representational State Transfer,表示性状态转移) ...
- leetcode 183. Customers Who Never Order
select Name as Customers from Customers where Id not in (select CustomerId from Orders);
- 4sum, 4sum closest
4sum [抄题]: [思维问题]: 以为很复杂,其实是“排序+双指针”的最高阶模板 [一句话思路]: [输入量特别大怎么办]: [画图]: [一刷]: 先排序! if (i > 0 & ...
- swift UIAlertController使用 UIAlertController的宽度 为270
添加子控件 1. 有标题, alert标题高度大概 是 40, 子控件的 Y一般在40 ,如果中间有换行, \n 的高度大概是30 2.alert的宽度 是270, 设置frame 的时候注意 /// ...
- Asia Stock Exchanges[z]
Asia Stock Exchanges July 7, 2009 This article is to summarise the trading rules of some Asia stocke ...
- Django模型之Meta详解
Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...