【问题标题】:Is there a "start" like "end" in fs.createreadstream?fs.createreadstream 中是否有类似“结束”的“开始”?
【发布时间】:2021-11-13 11:25:18
【问题描述】:

我正在使用 csv-parser 库,我想在解析它们之前检查表格标题

const fs = require('fs')
const csv = require('csv-parser')

fs.createReadStream('tes.csv')
        .pipe(csv())
        .on('start', start=>{
            console.log(start)
//here i should check how column names are captioned
        })
        .on('data', data=>{
            console.log(data)
//if they are captioned as requiered i do things
        })

我检查了文档,但没有找到任何关于它的内容,所以有一些东西可以使用,比如 .on('end', ()=>{})? 还是有其他方法来获取列名?

【问题讨论】:

  • AFAIK 没有。我的建议是简单地使用第一个data 事件,使用.once 调用。然后,在其中附加 .on 调用。

标签: javascript node.js csv fs


【解决方案1】:

您可以通过headers 事件获取列名。 csv-parser 在标题行解析后发出 headers 事件。回调函数的第一个参数是Array[String],您可以访问列名或标题。 (more doc)

const fs = require('fs')
const csv = require('csv-parser')

fs.createReadStream('tes.csv')
        .pipe(csv())
        .on('headers', headers=>{
            console.log(headers)
        })
        .on('data', data=>{
            console.log(data)
        })

【讨论】:

  • 更好了,谢谢解答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-01
  • 1970-01-01
相关资源
最近更新 更多