Tablora · Библиотека
Остановиться, если поле в кавычках не закрыто
Кавычка, которая открывает поле CSV, но так и не закрывается, делает остаток текста неоднозначным. Анализатор его отклоняет, чтобы вы сначала исправили источник.
Почему одна пропущенная кавычка ломает всё, что после неё
В CSV открывающая кавычка говорит программе чтения, что всё до парной закрывающей кавычки относится к одной ячейке, включая запятые и переводы строк. Если закрывающая кавычка так и не появляется, программа не может знать, где ячейка должна была закончиться. Каждый следующий разделитель и перевод строки может быть частью этого значения — а может и ни один.
Некоторые инструменты гадают и поглощают остаток файла в одну ячейку. Анализатор так не делает. Он отклоняет текст с сообщением «Проверьте введённые значения и повторите попытку.», так что вы видите проблему до того, как из догадки будут построены строки.
Пример с незаконченным примечанием
В примере на странице заголовок id,note и запись 1,"unfinished с открывающей кавычкой и без закрывающей. С запятой в качестве разделителя полей ожидаемый итог — незаконченное поле в кавычках отклоняется: ни предпросмотра, ни числа строк, ни скачивания. С вариантом «Определить разделитель» результат тот же, потому что ни один из поддерживаемых разделителей не позволяет разобрать текст.
Типичные причины
- Копирование, оборвавшееся посреди длинного примечания, например когда выделили только часть файла или сообщения.
- Выгрузка, обрезанная ограничением размера или прерванным скачиванием.
- Примечание с кавычкой, которую не удвоили, так что поле закрылось раньше, а более поздняя кавычка открыла новое.
- Ручная правка, при которой закрывающая кавычка удалилась вместе с соседним текстом.
- Ячейка длиннее 32 767 символов. Анализатор отклоняет более длинные ячейки, и незакрытая кавычка, поглощающая остаток длинного файла, — частый способ упереться в этот предел.
Исправление копии источника
- Найдите открывающую кавычку в исходном тексте; обычно она в начале последней ячейки, которая выглядит слишком длинной.
- Посмотрите в исходном документе или исходной выгрузке, что должно содержаться в поле целиком.
- Восстановите в копии всё поле и его закрывающую кавычку. Если внутри значения есть кавычки, удвойте каждую.
- Вставьте исправленную копию, нажмите «Рассчитать» и убедитесь, что «Строки» и «Столбцы» совпадают с источником.
- Только после этого правьте значения ячеек или переходите к другим инструментам.
Не закрывайте её в самом конце
Если добавить закрывающую кавычку в самом конце текста, ошибка исчезнет, но всё после открывающей кавычки превратится в одну ячейку. Тогда анализатор покажет меньше строк и одно огромное примечание. Ставьте кавычку там, где поле действительно заканчивается.
Входные данные
- Текст таблицы
- id,note 1,"unfinished
- Разделитель полей
- ,