В файле разделитель — табуляция, а не точка с запятой
Как это выглядит
Файл с расширением csv открывается одной колонкой. Внутри значения разделены не запятыми и не точками с запятой, а невидимой табуляцией.
Коротко
Расширение csv не гарантирует запятую внутри: разделителем может быть точка с запятой, табуляция или вертикальная черта. Определить его можно, открыв файл в текстовом редакторе, а импортировать — указав разделитель явно.
Почему так происходит
01Выгрузка сделана в формате с табуляцией
Многие системы выгружают табулированный текст и называют файл csv. Формально это другой формат, и автоопределение разделителя часто ошибается.
02Автоопределение выбрало не тот разделитель
Если в данных встречаются и запятые, и табуляции, программа может выбрать неверный вариант и разбить строки не там.
03Табуляция невидима
В отличие от запятой, табуляцию не видно в тексте. Файл выглядит как аккуратно выровненная таблица, и понять, чем разделены колонки, на глаз нельзя.
Как понять, что причина именно эта
- Откройте файл в текстовом редакторе с показом невидимых символов
- Посмотрите, есть ли между значениями запятые или точки с запятой
- Попробуйте импорт с разделителем «табуляция» и посмотрите предпросмотр
- Проверьте, одинаково ли число колонок в разных строках
Как починить
Импортировать с явным указанием разделителя
- 1.Используйте импорт данных, а не открытие файла
- 2.Укажите разделитель «табуляция»
- 3.Проверьте предпросмотр до подтверждения
- 4.Задайте текстовый тип для колонок с кодами
не чинит: Требует нескольких лишних действий по сравнению с двойным щелчком по файлу.
Заменить табуляцию на нужный разделитель
- 1.Откройте файл в текстовом редакторе
- 2.Замените символ табуляции на точку с запятой
- 3.Сохраните и откройте как обычно
не чинит: Испортит данные, если внутри значений тоже есть табуляции.
Переименовать в .tsv
- 1.Смените расширение на tsv
- 2.Часть программ после этого определит формат правильно
не чинит: Помогает не везде: некоторые программы смотрят на содержимое, а не на расширение.
Когда мы не нужны
Это задача импорта, а не распознавания: файл уже машиночитаемый, ему нужен только правильный разделитель.
Что с этим делает наша выгрузка
Мы отдаём CSV с точкой с запятой в качестве разделителя и в кодировке UTF-8 с BOM — сочетание, которое Excel открывает правильно двойным щелчком без импорта.
Вопросы
Почему у вас точка с запятой, а не запятая?
Потому что в русской локали запятая — разделитель дробной части. Файл с запятыми в роли разделителя колонок Excel разберёт неверно на первом же числе с копейками.
Что такое BOM и зачем он?
Метка в начале файла, по которой Excel понимает, что текст в UTF-8. Без неё кириллица открывается кракозябрами — это самая частая причина испорченной выгрузки.
Если ошибка не в Excel, а в самих документах
Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.
Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/razdelitel-tabulyaciya-v-csv.
Другие ошибки