fast-csv正在抛出exception:期望列标题不匹配

我正在尝试使用fast-csvvalidation数据。 我的代码看起来像

var fileName = req.files.uploadcsv.path; var fs = require("fs"); var stream = fs.createReadStream(fileName); var csv = require("fast-csv"); csv .fromStream(stream, { headers: true }) .validate(function(data) { if (data.age > 18) return false; else return true; } } 

它工作正常,我上传的每个文件,但如果我上传文件与额外的数据,它说错误:意外的错误:预期列标题不匹配:5列得到:6其实文件有5个标题,但它包含的数据集有6个logging。 我想赶上这个错误,以便我可以指出用户错误。

请build议。

我已经解决了。 解决上述问题的方法是:

 .on("error", function(data){ return false; }) 

我在.validate()之后实现了这个代码,并且它工作。

你也可以这样做:

 csv .fromStream(stream, { headers: true, strictColumnHandling: true }) .validate(function(data) { if (data.age > 18) return false; else return true; } .on("data-invalid", function(data){ // do something like log for example });