首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fast-csv引发异常:预计列标题不匹配

fast-csv引发异常:预计列标题不匹配
EN

Stack Overflow用户
提问于 2014-11-17 22:37:24
回答 3查看 4.8K关注 0票数 1

我正在尝试使用fast-csv验证数据。我的代码看起来像这样

代码语言:javascript
复制
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条记录。我想要捕捉这个错误,这样我就可以将用户指向错误。

请提个建议。

EN

回答 3

Stack Overflow用户

发布于 2014-11-18 18:30:07

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

代码语言:javascript
复制
.on("error", function(data){
   return false;                         
 })

我在.validate()之后实现了这段代码,它起作用了。

票数 2
EN

Stack Overflow用户

发布于 2020-02-28 16:27:30

以防这对将来的某些人有帮助:我遇到了同样的错误,并注意到我的一行中包含一个,--导致快速csv抛出错误,因为它认为添加了一个新列。

票数 0
EN

Stack Overflow用户

发布于 2016-02-01 01:22:41

你也可以这样做:

代码语言:javascript
复制
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
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26975068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档