Tablora

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

Прочитать кавычку внутри поля CSV

В CSV две двойные кавычки внутри поля в кавычках обозначают одну кавычку. Посмотрите, как анализатор читает She said "hello" и почему обратная косая черта не работает.

Как CSV записывает кавычку внутри значения

Поле CSV, в котором есть кавычка, само должно быть заключено в кавычки, а каждая кавычка внутри него пишется дважды. Поэтому текст ячейки She said "hello" хранится в файле как "She said ""hello""". Внешние кавычки — это синтаксис; каждая удвоенная пара внутри обозначает один настоящий символ кавычки.

Некоторые программы вместо этого ставят перед кавычкой обратную косую черту — соглашение, заимствованное из языков программирования. Анализатор следует правилу CSV, а не этому соглашению, поэтому кавычка с обратной косой чертой не принимается как экранирование.

Проверка строки Poster

В примере на странице заголовок item,note и одна запись, у которой note равно "She said ""hello""", а разделителем полей служит запятая. Анализатор показывает 2 строки и 2 столбца. В строке 2, столбце 2 стоит She said "hello" — ровно с одной кавычкой перед hello и одной после.

Если в предпросмотре вы видите по две кавычки с каждой стороны от hello, значит, в источнике поле не было заключено в кавычки и текст, скорее всего, вообще не является корректным CSV.

Ввод, который не разбирается

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

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

Экспорт в CSV в приложении Tablora следует тому же правилу, когда в ячейке есть кавычка, запятая или перевод строки: ячейка заключается в кавычки, а внутренние кавычки удваиваются. В экспорте в XLSX кавычка — просто часть текста ячейки, поэтому никакого экранирования вы не увидите.

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

Текст таблицы
item,note Poster,"She said ""hello"""
Разделитель полей
,

Результаты

Строки
2
Столбцы
2
itemnote
PosterShe said "hello"
Строки с другой шириной
0