Перейти к содержимому
Все статьи
Разработка

CSV импортируется со съехавшими столбцами: кавычки, переносы и ведущие нули

17 октября 2026 г.· 4 мин чтения
Одна CSV-запись разбирается на код 00127, название ООО, Север и многострочный комментарий; запятая и перенос внутри кавычек сохраняются.
Сначала корректная структура файла, затем смысл и типы импортируемых полей. Открыть схему крупнее

Файл выглядит нормально в редакторе таблиц, но после импорта адрес оказывается в поле телефона, а часть клиентов превращается в дополнительные строки. Причина может быть в обычной запятой внутри названия или переносе строки в комментарии. CSV — текстовый формат с правилами экранирования; это не всегда «каждая строка — запись, каждая запятая — новый столбец».

Сначала зафиксируйте вариант формата

Согласуйте разделитель, кодировку, наличие заголовка и правила кавычек. Не полагайтесь только на расширение .csv: выгрузки с точкой с запятой широко встречаются, а десятичная запятая делает ручное угадывание ещё менее надёжным. Полезнее показать предварительный просмотр и попросить подтвердить параметры, чем молча выбрать наиболее вероятный разделитель.

В формате с кавычками разделитель внутри заключённого поля остаётся частью значения. Кавычка внутри такого поля представляется предусмотренным экранированием. Допустимый перенос внутри поля не должен создавать новую бизнес-запись. Обычный split по строкам и запятым эти различия не видит.

Признаки структурной ошибки до импорта
Пример значенияОшибка простого разбораПравильный контроль
«ООО, Север» в одном полеЛишний столбец после запятойУчитывать границы кавычек
Комментарий с переносомЛожная новая записьРазличать перенос записи и перенос внутри поля
Артикул 00127Преобразование в число 127Хранить идентификатор строкой
Две одинаковые подписи заголовковНепонятное сопоставление полейОстановить автоматический выбор соответствий
Пустая ячейка в серединеСдвиг значений в соседние поляСохранять позицию пустого значения

Число — не свойство любых цифр

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

Для дат и денежных значений задайте явный формат. Запись 03/04/2026 неоднозначна без соглашения. Значение 1,234 тоже может означать разные величины. Не исправляйте такие случаи автоматически по удобному предположению. Показать исходную ячейку и ожидаемый формат дешевле, чем потом восстанавливать даты договоров.

Предварительный просмотр должен объяснять отказ

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

Разбор структуры ещё не означает готовность к записи в CRM. Затем проверяют обязательные поля, допустимые значения справочников, внешние ID и правила обновления. Для первой загрузки используйте небольшой пробный набор и понятный режим: только создать, только обновить или предварительный просмотр. Массовое объединение клиентов по одному совпавшему телефону — отдельное рискованное действие.

Как пользоваться локальным разбором

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

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

После успешного предпросмотра сохраните спецификацию обмена и контрольный файл. Тогда следующая версия выгрузки не сможет незаметно переставить колонки или изменить формат даты. Импорт становится повторяемым процессом с проверяемым результатом, а не разовой операцией «кажется, всё загрузилось».

Проверка структуры учебного CSV без преобразования типов

Только разбор введённого текста. Кодировка файла, бизнес-правила и права на импорт не проверяются; ведущие нули сохраняются. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.

Материалы для проверки

Если нужна реализация

Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.

Автоматизация, интеграции и парсеры Разработка CRM и ERP на заказ

Связанный материал: Как перенести данные из Excel в CRM без потерь

Нужна помощь с проектом?

Обсудим задачу и предложим решение — от сайта до SaaS и защиты.

Связаться