Jquery CSV库-不解析CSV文件,如果值在引号内

Jquery CSV Library - Doesn't parse CSV file, if values are inside quotes

本文关键字:CSV 如果 文件 Jquery      更新时间:2023-09-26

我使用jquery CSV库(https://github.com/evanplaice/jquery-csv/),将CSV文件解析并转换为对象数组。这是我的代码

this.parsedData = $.csv.toObjects(data);
if (this.parsedData.length === 0) {
**console.log('In valid'); /**/ This gets printed 
} else {
    console.log('valid')
}

我的CSV文件是:

""__stream_code","project_code","process","due_date","root_table"
"DASH_PLAY_001","DEV","Plate",2013-02-02,"stream"
"DASH_PLAY_001","DEV","DepthAssess",2013-02-03,"stream""

现在,如果我删除引号,它工作得很好,但有引号就不行。大多数时候,我的应用程序将处理带引号值的CSV。有什么办法能修好它吗?

试试http://papaparse.com/;你可以在线分析它,它工作得很好。

你所要做的就是通过var results = $.parse(csvString);

,它会为你返回JSON对象

为什么用引号括起来?

我已经在Basic Usage演示中测试了它,没有外部引号,它似乎可以很好地解析数据。您是否至少使用0.71版本?

:

""__stream_code","project_code","process","due_date","root_table"
"DASH_PLAY_001","DEV","Plate",2013-02-02,"stream"
"DASH_PLAY_001","DEV","DepthAssess",2013-02-03,"stream""

双双引号抵消了每一个(根据规范),所以当它试图解析第一个值时会出错。

应:

"__stream_code","project_code","process","due_date","root_table"
"DASH_PLAY_001","DEV","Plate",2013-02-02,"stream"
"DASH_PLAY_001","DEV","DepthAssess",2013-02-03,"stream"

如果jquery-csv在解析过程中遇到错误,它应该将一个错误记录到控制台,指出发生错误的行:列。控制台是否有错误?如果不是,console.log(data)的输出是什么?

对于混合了引号和未引号的数据,解析器在使用它时不应该有任何问题。数据(没有外引号)看起来完全有效。

顺便说一句,我不是想推卸责任。如果您提供的代码示例中没有其他内容暴露了解析器中的错误,我想识别并修复它。

声明:我是jquery-csv

的作者