【发布时间】:2018-06-30 00:02:50
【问题描述】:
刚刚找到 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);
}
});
}
还有其他人看到类似的行为吗?这是否属于错误,还是有一些充分的理由(即,记录在案的原因?)拥有最后一个空字符串数组?
谢谢! ;)
【问题讨论】:
标签: javascript csv parsing