Papa Parse在解析CSV文件时提供了额外的空行

时间:2018-06-30 00:02:51

标签: javascript csv parsing

只是找到了Papa Parse主页,试图学习使用它。总体而言,一切看起来都不错,易于使用。

我在Excel中创建了一个超简单的工作表:三列,第一行是命名各列的标题行,然后三列数据,将电子表格保存为CSV格式。就像我期望的那样,打开了CSV文件,它有4行。

创建了一个运行Papa.parse的网页,并将结果转储到console.log中,就像示例一样:

(5) [Array(3), Array(3), Array(3), Array(3), Array(1)]
0 : (3) ["Column A", "Column B", "Column C"]
1 : (3) ["Row 1, Col A", "Row 1, Col B", "Row 1, Col C"]
2 : (3) ["Row 2, Col A", "Row 2, Col B", "Row 2, Col C"]
3 : (3) ["Row 3, Col A", "Row 3, Col B", "Row 3, Col C"]
4 : [""]

我很高兴在这里看到我的数据,除了那里的第5个数组之外,它的布局与我期望的一样。似乎只是“多余”,“虚假”,“错误”。

当然没什么大不了的,我可以解决。但是我猜测带有空字符串的额外数组不是真的“按设计”吗?为什么不只给出前四个数组呢?

作为参考,这是我的网页上输入的文件:

<input type="file" id="csvFile" oninput="readCsvFile('csvFile')">

这是我的回调函数,提供了上面的数据:

function readCsvFile(fileElId) {
    var
        fileEl = document.getElementById(fileElId),
        csvFile = fileEl.files[0];

    // Parse local CSV file
    Papa.parse(csvFile, {
        complete: function(results) {
            console.log("Finished:", results.data);
        }
    });
}

还有其他人看到类似的行为吗?这是否可以视为错误,还是有充分的理由(即有记载的理由?)拥有最后一个空字符串数组?

谢谢! ;)

1 个答案:

答案 0 :(得分:3)

This is an open issue on Papa Parse's Github repo. applicationUrl被认为是一种解决方法。