Jquery CSV库-不解析CSV文件,如果值在引号内
Jquery CSV Library - Doesn't parse CSV file, if values are inside quotes
我使用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
相关文章:
- 如果 a 为 false,则 if(a) === if(false)
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 在POST中将html表作为csv提交
- 通过CSV文件上载更新数据库表
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 如果href包含X,请更改href
- 如果localstorage为空,则显示欢迎消息
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- 如果元素's的ID以数字开头
- 在.csv文件中写入学位符号
- 检查CSV标头是否匹配,如果匹配则继续分析,否则停止
- 如果行数过多,Chrome 无法导出为 csv
- 单击“保存到CSV”按钮后显示通知(如果未安装Flash Player)
- Jquery CSV库-不解析CSV文件,如果值在引号内
- 如果变量匹配csv值push到数组
- Javascript:添加值到CSV如果不在CSV -如果已经在CSV -从CSV中删除
- D3读取csv/tsv文件,如果列名是数字