Папа Парс дает лишнюю пустую строку при разборе файла CSV - PullRequest
0 голосов
/ 30 июня 2018

Только что нашел домашнюю страницу 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);
        }
    });
}

Кто-нибудь еще видел подобное поведение? Это квалифицируется как ошибка, или есть какая-то веская причина (т.е. задокументированная причина?) Иметь этот последний пустой массив строк?

Спасибо! ;)

1 Ответ

0 голосов
/ 30 июня 2018

Это открытый вопрос о репозитории Github от Papa Parse. skipEmptyLines: true отмечен как обходной путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...