首页 > 解决方案 > Papa Parse 在解析 CSV 文件时给出额外的空行

问题描述

刚刚找到 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 个数组外,它的布局与我预期的一样。这似乎是“额外的”、“虚假的”、“错误的”。

没什么大不了的,当然——我能应付。但我猜测带有空字符串的额外数组并不是真正的“设计”,是吗?为什么不只给出前 4 个数组?

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

<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);
        }
    });
}

还有其他人看到类似的行为吗?这是否属于错误,或者是否有一些充分的理由(即,记录在案的原因?)拥有最后一个空字符串数组?

谢谢!;)

标签: javascriptcsvparsing

解决方案


这是 Papa Parse 的 Github 存储库上的一个未解决问题。 skipEmptyLines: true被记录为一种解决方法。


推荐阅读