DocFlow

В файле разделитель — табуляция, а не точка с запятой

Как это выглядит

Файл с расширением csv открывается одной колонкой. Внутри значения разделены не запятыми и не точками с запятой, а невидимой табуляцией.

Коротко

Расширение csv не гарантирует запятую внутри: разделителем может быть точка с запятой, табуляция или вертикальная черта. Определить его можно, открыв файл в текстовом редакторе, а импортировать — указав разделитель явно.

Почему так происходит

  1. 01Выгрузка сделана в формате с табуляцией

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

  2. 02Автоопределение выбрало не тот разделитель

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

  3. 03Табуляция невидима

    В отличие от запятой, табуляцию не видно в тексте. Файл выглядит как аккуратно выровненная таблица, и понять, чем разделены колонки, на глаз нельзя.

Как понять, что причина именно эта

Как починить

Импортировать с явным указанием разделителя

  1. 1.Используйте импорт данных, а не открытие файла
  2. 2.Укажите разделитель «табуляция»
  3. 3.Проверьте предпросмотр до подтверждения
  4. 4.Задайте текстовый тип для колонок с кодами

не чинит: Требует нескольких лишних действий по сравнению с двойным щелчком по файлу.

Заменить табуляцию на нужный разделитель

  1. 1.Откройте файл в текстовом редакторе
  2. 2.Замените символ табуляции на точку с запятой
  3. 3.Сохраните и откройте как обычно

не чинит: Испортит данные, если внутри значений тоже есть табуляции.

Переименовать в .tsv

  1. 1.Смените расширение на tsv
  2. 2.Часть программ после этого определит формат правильно

не чинит: Помогает не везде: некоторые программы смотрят на содержимое, а не на расширение.

Когда мы не нужны

Это задача импорта, а не распознавания: файл уже машиночитаемый, ему нужен только правильный разделитель.

Что с этим делает наша выгрузка

Мы отдаём CSV с точкой с запятой в качестве разделителя и в кодировке UTF-8 с BOM — сочетание, которое Excel открывает правильно двойным щелчком без импорта.

Вопросы

Почему у вас точка с запятой, а не запятая?

Потому что в русской локали запятая — разделитель дробной части. Файл с запятыми в роли разделителя колонок Excel разберёт неверно на первом же числе с копейками.

Что такое BOM и зачем он?

Метка в начале файла, по которой Excel понимает, что текст в UTF-8. Без неё кириллица открывается кракозябрами — это самая частая причина испорченной выгрузки.

Пилот · 1 990 ₽ за 30 дней

Если ошибка не в Excel, а в самих документах

Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/razdelitel-tabulyaciya-v-csv.