Tablora

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

Сохранить запятую внутри одной ячейки CSV

Запятая внутри поля CSV в кавычках, как в "Red, blue", принадлежит значению. Перед скачиванием убедитесь, что анализатор читает его как одну ячейку.

Запятые, которые принадлежат значению

Описания, адреса и названия компаний часто содержат запятые. В файле с разделителем-запятой такое значение нужно заключать в кавычки, чтобы запятая не читалась как граница поля. Программы, которые делят каждую строку по каждой запятой, игнорируют эти кавычки и превращают запись из двух столбцов в три ячейки, сдвигая все последующие значения на столбец вправо.

Анализатор следует правилу кавычек CSV. Запятая внутри поля в кавычках остаётся в ячейке, а сами кавычки считаются синтаксисом, а не частью значения.

Разбор Mira и Red, blue

В примере на странице заголовок name,note и запись Mira,"Red, blue", разделитель полей — запятая. Разбор даёт 2 строки и 2 столбца, а в строке 2, столбце 2 стоит Red, blue — без окружающих кавычек и с запятой внутри значения.

Второе поле заголовка, note, совпадает по положению с Red, blue, так что у записи ровно та же ширина, что у заголовка, и «Строки с другой шириной» показывает 0.

Проверка поля в кавычках

Пробел перед открывающей кавычкой

В CSV, отредактированном вручную, после запятой часто стоит пробел: Mira, "Red, blue". По правилу CSV кавычка открывает поле, только если она первый символ этого поля, поэтому из-за пробела перед ней кавычка становится неожиданным символом. Анализатор отклоняет такой текст с сообщением «Проверьте введённые значения и повторите попытку.», а не гадает. Удалите в своей копии пробел между запятой и открывающей кавычкой и пересчитайте.

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

Запятые в экспорте из приложения

Экспорт в CSV в приложении Tablora берёт в кавычки любую ячейку, где есть запятая, кавычка или перевод строки, поэтому описание вроде Red, blue остаётся в одной ячейке, когда файл открывают в другой программе.

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

Текст таблицы
name,note Mira,"Red, blue"
Разделитель полей
,

Результаты

Строки
2
Столбцы
2
namenote
MiraRed, blue
Строки с другой шириной
0