整理数据,将a.txt的内容,转成b.json的内容。a.txt

a.txt

小王,19
小李,20
小陈,21

b.json

{
  "list":[
  		{"name":"小王","age":19},
    	{"name":"小李","age":20},
    	{"name":"小陈","age":21}
  ],
 	"average":20,
  "total":3
}

完成代码

let fs = require('fs')
let path = require('path')
//引入模块
//读取内容
fs.readFile(path.join(__dirname,'a.txt'),'utf8',function(err,data){
  if(err){
    console.log(err);
    return
  }else{
    // console.log(data.split('\n'));
    let num = 0//用于接收次数
    let sum = 0 //用于接收数的总数,方便计算平均值
    let arr = []   //新数组接收设置的数据
    
    data.split('\n').forEach(item=>{
//   用/n把数据分割 
      //拆分成数组,遍历数组
//   空对象接收设置的对象数据,方便增加到数组里
      let obj = {}
      // 循环一次增加一次数据
//  以逗号为分割分别获取两个值
      obj.name = item.split(',')[0]
      obj.age = 1*item.split(',')[1]  // 这里面用到了隐式转换//转换成数字
      arr.push(obj)
      // 再把obj数据增加到数组里
      sum+=obj.age
      //求三个数的和,方便求平均值
      num++
      // 每循环一次增加一
    })
    // console.log(arr);
    let out = {
      list: arr, //数据
      average:sum/num,//平均值   总数除以次数
      total:num    //次数
    }
    console.log(out);
把内容读出到新的文件
    // JSON.stringify(out) 
    fs.writeFile(path.join(__dirname,'C.json'),JSON.stringify(out),function(err){
      console.log(err);
    })
  }
  
})

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值