Github标星28.2k,可大批量生成假数据,这个工具太牛

2023-10-07 15:20

本文主要是介绍Github标星28.2k,可大批量生成假数据,这个工具太牛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开源最前线(ID:OpenSourceTop) 猿妹整编

综合自:https://medium.com/javascript-in-plain-english/faker-js-npm-module-for-generating-fake-data-5dae437ec3a

在开发和测试过程中,以及在演示和培训过程中,经常需要伪数据。

今天,猿妹就和大家推荐一个专门用于生成伪数据的神器——faker.js,使用faker.js模块可以轻松地在多个域和多个区域生成伪数据。

Faker.js是一个JavaScript库,每周下载量超过140万。大概八年前就已经被创建了,如今有200多个贡献者。它公开了生成随机数据的函数,通常调用这些函数就可以生成JSON或CSV文件的值,而且数据生成的速度很快,并且易于使用。

下面举一个通过faker.js生成伪数据的例子:

const faker = require('faker');
let firstName = faker.name.firstName();
let lastName = faker.name.lastName();
console.log(`Employee: ${firstName} ${lastName}`);

域和语言环境

数据是由faker.js为许多不同的域或名称空间生成的。每个域提供多个数据类型,比如“名称”可以生成一下值:

  • 名字

  • 姓氏

  • 职称

  • 工作领域

  • 工作类型

  • ......

这些是faker.js当前支持的域:名称,地址,公司,日期,时间,商务,财务,电话,数据库,Internet,Git,系统,黑客等,这些加起来一共有70多种伪数据类型。

faker.js生成的数据虽说是伪数据,但也是正确的数据,比如国家名称虽说是随机生成的,但并不是伪造的,城市和街道的名称看起来也足够真是,电子邮件地址也会有正确的格式。

某些数据仅在特定语言中才具有实际意义,国家名称,工作日和颜色因语言而异,并且邮政编码,电话号码和街道地址的格式也因国家而异。Faker.js支持特定于语言环境的数据生成。你可以在生成数据之前设置所需的语言环境,Faker.js支持近40种语言环境。

faker.js入门

faker.js入门也是十分简单,你可以直接在浏览器端的JavaScript代码中使用faker.js:

  <script src = "faker.js" type = "text/javascript"></script><script>var randomName = faker.name.findName(); // Caitlyn Kerlukevar randomEmail = faker.internet.email(); // Rusty@arne.infovar randomCard = faker.helpers.createCard(); // random contact card containing many properties</script>

这里再举一个简单的代码片段,它需要faker.js模块生成一系列伪数据:

 const faker = require('faker');
let phone = faker.phone.phoneNumber();
console.log(`Phone: ${phone}`);
console.log(`Vehicle: ${faker.vehicle.model()} ${faker.vehicle.type()}`)
console.log(`Credit Card: ${faker.finance.creditCardNumber()}`)
faker.locale = "ru";
let firstName = faker.name.firstName();
let lastName = faker.name.lastName();
console.log(`Pаботник: ${firstName} ${lastName}`);
let month = faker.date.month();
let recentDate = faker.date.recent();
console.log(`Month ${month} and Date ${recentDate} `)
faker.locale = "nl";
// use faker moustache expressions as placeholders for generated data
const fakePerson = { "name"      :"{{name.firstName}} {{name.lastName}}"
, "address"   : { "street" :"{{address.streetName}} {{random.number}}"
, "city"   :"{{address.city}}"
, "country":"{{address.country}}"
}
, "birthdate" : "{{date.past}}"
}
// feed stringified representation of JSON object to faker.fake to replace moustache expressions with generated data
const person = JSON.parse( faker.fake( JSON.stringify(fakePerson)))
console.log(JSON.stringify(person))

该代码片段的输出结果如下:

运行此代码段,结果都是不同的-因为它是随机生成的。如果你也对faker.js感兴趣可以尝试一下哦~

https://github.com/Marak/faker.js


最近热文:20套Java实战项目视频,涉及SpringBoot、SSM、SpringCloud等等!雷军1994年写的像诗一样的代码,我今天把它运行起来了!
卧槽!这 TM 才是真正的老司机看片神器!!!
卧槽!微信图标现在可以换颜色了?!10款必装软件,让Windows使用效率飞起!
对比27种语言,哪种编程语言又快又省电?
支付宝钱包系统架构图解,真的太优秀了!LeetCode1-100题汇总,希望对你有点帮助!2T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,人工智能,考研,软考,英语,等等。在公众号内回复「资源」,即可免费获取!回复「社群」,可以邀请你加入读者群!更多好玩有趣的GitHub项目

这篇关于Github标星28.2k,可大批量生成假数据,这个工具太牛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/158662

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法