У меня есть функция в веб-приложении, которая позволяет пользователю загружать csv на сервер. Выбрав файл csv для загрузки, я открою файл с помощью javascript, а затем создаю таблицу через datatables, чтобы пользователь мог просмотреть / подтвердить, что они хотят загрузить.
Перед тем, как таблица будет нарисована, я конвертирую файл csv в многомерный массив, используя эту функцию, а затем использую его как набор данных.
Моя проблема в том, что когда одно из этих значений csv содержит запятую, я получаю предупреждение о предоставлении данных:
Предупреждение DataTables: таблица id = csv-data-display-table - запрошенный неизвестный параметр ' test1 , companynamewith ' test01 ,,,,,,,,,,,,,,,, test2, "companynamewith, test02" ,,,, ,,,,,,,,,,,, test3, companynamewith / test03 ,,,,,,,,,,,,,,,, 'для строки 6. Для получения дополнительной информации об этой ошибке, см. http: / /datatables.net/tn/4 - Объект Error: undefined
Ниже приведены некоторые примеры данных, которые вызывают проблему:
["test2", "companynamewith,test02", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
Обратите внимание, что средняя строка имеет запятую во втором столбце, но она также завернута в кавычки.
Вот запись проблемы после того, как она попадает в функцию, которая строит массив из него:
17
Я бы подумал, что Datatables будет достаточно умным, чтобы разбираться в таком массиве, не зацикливаясь на запятой, потому что это внутри кавычек, но, возможно, нет. Как только я удаляю эту строку из csv, она работает точно так, как предполагалось и без предупреждения. Любая помощь будет оценена!