资讯专栏INFORMATION COLUMN

【每日一包0021】csv2,through2

AnthonyHan / 3441人阅读

摘要:地址采用流模式读取文件,每次读取一行数据对流的二次封装,更加易于使用普通用法等同于可以使号或者号参数每次流传完可以和一样做一些数据处理将文件中的全部替换为输出到完事写入完成对于需要相同处理过程的数据可以采用该方法创建一个构造函数完事

[github地址:https://github.com/ABCDdouyae...]

csv2
采用流模式读取.csv文件,每次读取一行数据
through2
对node流的二次封装,更加易于使用
普通用法 through2([ options, ] [ transformFunction ] [, flushFunction ])

options:{objectMode: true} 等同于through2.obj

transformFunction(chunk, encode, callback)

flushFunction 可以使2号或者3号参数 每次流传完可以和transformFunction一样做一些数据处理

//将文件中的a全部替换为z输出到out.txt
const through2 = require("through2");
const fs = require("fs");

fs.createReadStream("./test/enter.txt")
  .pipe(through2(function (chunk, enc, callback) {
    for (var i = 0; i < chunk.length; i++)
      if (chunk[i] == 97)
        chunk[i] = 122 // swap "a" for "z"
 
    this.push(chunk)
 
    callback()
   }))
  .pipe(fs.createWriteStream("./test/out.txt"))
  .on("finish", () => {
      console.log("完事")
  })
through2.obj
const through2 = require("through2");
const csv2 = require("csv2");
const fs = require("fs");

let all = [];
fs.createReadStream("./test/enter.csv")
  .pipe(csv2())
  .pipe(through2.obj(function (chunk, enc, callback) {
    this.push({
        No : chunk[0], 
        activity : chunk[1], 
        time : chunk[2],
        money: chunk[3]
    })
    callback()
  }))
  .on("data", (data)=>{
      all.push(data)
  })
  .on("end", ()=>{
      fs.writeFile("./test/a.js", JSON.stringify(all), ()=>{
        console.log("写入完成")
      })
  })
through2.ctor对于需要相同处理过程的数据可以采用该方法创建一个构造函数
let Fc = through2.ctor(function(chunk, enc, callback){
   console.log(chunk)
    for(var i=0;i {
      console.log("完事")
  })

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99750.html

相关文章

  • 每日一包0021csv2,through2

    摘要:地址采用流模式读取文件,每次读取一行数据对流的二次封装,更加易于使用普通用法等同于可以使号或者号参数每次流传完可以和一样做一些数据处理将文件中的全部替换为输出到完事写入完成对于需要相同处理过程的数据可以采用该方法创建一个构造函数完事 [github地址:https://github.com/ABCDdouyae...] csv2 采用流模式读取.csv文件,每次读取一行数据 throu...

    XBaron 评论0 收藏0
  • 每日一包0021csv2,through2

    摘要:地址采用流模式读取文件,每次读取一行数据对流的二次封装,更加易于使用普通用法等同于可以使号或者号参数每次流传完可以和一样做一些数据处理将文件中的全部替换为输出到完事写入完成对于需要相同处理过程的数据可以采用该方法创建一个构造函数完事 [github地址:https://github.com/ABCDdouyae...] csv2 采用流模式读取.csv文件,每次读取一行数据 throu...

    pkhope 评论0 收藏0
  • 每日一包0022】through2-map,through2-filter,stream-spig

    摘要:地址对于包的参数封装为函数形式输出的为字符串形式而不是默认为, [github地址:https://github.com/ABCDdouyae...] through2-map 对于through2包的transformFunction参数封装为map函数形式 {wantStrings: true}输出的chunk为字符串形式而不是buffer 默认objectModal为true ...

    honmaple 评论0 收藏0
  • 每日一包0022】through2-map,through2-filter,stream-spig

    摘要:地址对于包的参数封装为函数形式输出的为字符串形式而不是默认为, [github地址:https://github.com/ABCDdouyae...] through2-map 对于through2包的transformFunction参数封装为map函数形式 {wantStrings: true}输出的chunk为字符串形式而不是buffer 默认objectModal为true ...

    iKcamp 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<