社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

人工智能与大数据技术 • 3 年前 • 284 次点击  
来自:开源最前线(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 Kerluke
      var randomEmail = faker.internet.email(); // Rusty@arne.info
      var 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感兴趣可以尝试一下哦~
程序员数学之美

程序员数学学习

锻炼数学逻辑思维

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110671
 
284 次点击