我正在查看NPM包csv-parser,它将csv文件解析为JSON。根据提供的示例,您可以按以下方式逐行读取csv文件:
fs.createReadStream('data.csv') .pipe(csv()) .on('data', (rowData) => console.log(rowData)) .on('end', () => { console.log("done reading the file") });
有没有什么方法可以只返回CSV文件的头值?
djmepvbi1#
可以使用标头事件
fs.createReadStream('data.csv') .pipe(csv()) .on('headers', (headers) => { console.log(`First header: ${headers[0]}`) })
来自官方文档
https://www.npmjs.com/package/csv-parser#headers-1
k0pti3hp2#
除了这个答案https://stackoverflow.com/a/66756097/12285424,如果你只需要读取头,你应该销毁读流,以阻止它解析整个文件,例如:
let myHeaders; let readStream = fs.createReadStream('data.csv'); readStream .pipe(csv()) .on('headers', (headers) => { console.log(`First header: ${headers[0]}`) myHeaders = headers; readStream.destroy(); })
wsxa1bj13#
https://github.com/mafintosh/csv-parser#headers-1在分析标题行之后发出。事件回调的第一个参数是一个Array[String],其中包含头名称。使用.on('headers', (headers)事件
.on('headers', (headers)
fs.createReadStream('data.csv') .pipe(csv()) .on('headers', (headers) => { console.log(headers) })
3条答案
按热度按时间djmepvbi1#
可以使用标头事件
来自官方文档
https://www.npmjs.com/package/csv-parser#headers-1
k0pti3hp2#
除了这个答案https://stackoverflow.com/a/66756097/12285424,如果你只需要读取头,你应该销毁读流,以阻止它解析整个文件,例如:
wsxa1bj13#
https://github.com/mafintosh/csv-parser#headers-1
在分析标题行之后发出。事件回调的第一个参数是一个Array[String],其中包含头名称。
使用
.on('headers', (headers)
事件