fs.createreadstream 中是不是有类似“结束”的“开始”?
Posted
技术标签:
【中文标题】fs.createreadstream 中是不是有类似“结束”的“开始”?【英文标题】: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
调用。
【参考方案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)
)
【讨论】:
更好了,谢谢解答以上是关于fs.createreadstream 中是不是有类似“结束”的“开始”?的主要内容,如果未能解决你的问题,请参考以下文章
Node.js 中的 fs.ReadStream 和 fs.createReadStream 有啥区别吗?
node.js 中 fs.createReadStream 与 fs.readFile 的优缺点是啥?
如何将 fs.createReadstream 与 fs.promises 一起使用
为啥 fs.createReadStream ... pipe(res) 锁定读取文件?