Только что нашел домашнюю страницу 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 : [""]
Я очень рад видеть мои данные здесь, выложенные так, как я и ожидал, за исключением пятого массива. Это просто кажется «лишним», «ложным», «неправильным».
Конечно, ничего страшного - я могу с этим справиться. Но я предполагаю, что дополнительный массив с пустой строкой на самом деле не «задуман», не так ли? Почему бы просто не дать первые 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);
}
});
}
Кто-нибудь еще видел подобное поведение? Это квалифицируется как ошибка, или есть какая-то веская причина (т.е. задокументированная причина?) Иметь этот последний пустой массив строк?
Спасибо! ;)