我正在尝试node.js使用该csv-parser 库读取 CSV 文件。
由于它是一个大文件,我需要检查标题和第一100行并停止该方法并true在一切正常或false数据不符合条件时返回。
我怎样才能做到这一点?
这是我到目前为止所拥有的:
const csv = require('csv-parser');
const fs = require('fs');
exports.checkFileFormat = (file) => {
let stream = fs.createReadStream(file.tempFilePath)
.pipe(csv())
.on('headers', (headers) => {
/*...some logic...*/
})
.on('data', (row) => {
if (!typeof (row["USAGE"]) == 'number'
|| !moment(row["START_DATE"], 'YYYYMMDD', true).isValid()
|| !moment(row["END_DATE"], 'YYYYMMDD', true).isValid()) {
stream.unpipe(csv());
return false;
}
})
.on('end', () => {
console.log('CSV file successfully processed');
});
return true;
}
在以前的版本中,我也声明过:var num = 100并在内部对其进行了测试,.on('data', (row) => {...}但它不起作用。