Tablora

Tablora · Библиотека

Остановиться, если поле в кавычках не закрыто

Кавычка, которая открывает поле CSV, но так и не закрывается, делает остаток текста неоднозначным. Анализатор его отклоняет, чтобы вы сначала исправили источник.

Почему одна пропущенная кавычка ломает всё, что после неё

В CSV открывающая кавычка говорит программе чтения, что всё до парной закрывающей кавычки относится к одной ячейке, включая запятые и переводы строк. Если закрывающая кавычка так и не появляется, программа не может знать, где ячейка должна была закончиться. Каждый следующий разделитель и перевод строки может быть частью этого значения — а может и ни один.

Некоторые инструменты гадают и поглощают остаток файла в одну ячейку. Анализатор так не делает. Он отклоняет текст с сообщением «Проверьте введённые значения и повторите попытку.», так что вы видите проблему до того, как из догадки будут построены строки.

Пример с незаконченным примечанием

В примере на странице заголовок id,note и запись 1,"unfinished с открывающей кавычкой и без закрывающей. С запятой в качестве разделителя полей ожидаемый итог — незаконченное поле в кавычках отклоняется: ни предпросмотра, ни числа строк, ни скачивания. С вариантом «Определить разделитель» результат тот же, потому что ни один из поддерживаемых разделителей не позволяет разобрать текст.

Типичные причины

Исправление копии источника

Не закрывайте её в самом конце

Если добавить закрывающую кавычку в самом конце текста, ошибка исчезнет, но всё после открывающей кавычки превратится в одну ячейку. Тогда анализатор покажет меньше строк и одно огромное примечание. Ставьте кавычку там, где поле действительно заканчивается.

Входные данные

Текст таблицы
id,note 1,"unfinished
Разделитель полей
,