Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → CSV: разделители, кодировки и типичные ошибки открытия

CSV: разделители, кодировки и типичные ошибки открытия

CSV: разделители и кодировки, кавычки и переводы строк, проверка импорта и передача файла коллеге без сюрпризов.

CSV: разделители, кодировки и типичные ошибки открытия

CSV — это текст, где строки разделены переводом строки, а поля — запятыми. Формат простой, но именно поэтому в нём нет единого стандарта. Разные программы по-разному решают, что считать разделителем и в какой кодировке читать файл. Отсюда большинство проблем. Ниже — как их избежать.

Что такое CSV

Это текст, где строки разделены переводом строки, а поля — запятыми. Формат простой, но именно поэтому в нём нет единого стандарта: разные программы по-разному решают, что считать разделителем и в какой кодировке читать файл. Отсюда большинство проблем.

Разделитель

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

Как определить разделитель

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

Кодировка

Русские буквы ломаются, когда файл сохранён в одной кодировке, а открыт в другой. Типичный симптом — набор символов вместо слов. UTF-8 — самый безопасный выбор, но старые выгрузки часто приходят в другой кодировке, и это нужно проверять заранее.

Как исправить кракозябры

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

Кавычки

Если внутри поля есть разделитель, поле заключается в кавычки. Двойная кавычка внутри поля удваивается. Программа, которая этого не учитывает, разобьёт строку на лишние столбцы. Проверьте файлы с адресами и списками через запятую.

Перевод строки внутри поля

Такие поля тоже допустимы в кавычках, но ломают построчное чтение. Если в файле ожидаются многострочные тексты, уточните, поддерживает ли инструмент такой импорт. Иначе строки съедут, а число записей изменится.

Заголовки

Первая строка обычно содержит имена столбцов. Проверьте, что она не пустая и не продублирована. Некоторые системы добавляют служебную строку с типом отчёта. Удалите её до анализа, но сохраните копию исходника.

Пустые строки

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

Проверка после импорта

Сравните число строк и столбцов с ожидаемым. Посмотрите первые и последние строки. Проверьте, что числа стали числами, а даты — датами. Это занимает минуту и ловит большинство ошибок до анализа.

Экспорт с разделителем

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

Точка и запятая в числах

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

Типичные ошибки

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

Что сказать коллеге

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

Итог

CSV требует явных договорённостей: разделитель, кодировка и кавычки должны быть известны до импорта, а результат — проверен по числу строк и типов.

Как выбрать разделитель

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

Проверка на маленьком файле

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

Что делать с существующими файлами

Не пересохраняйте архивные файлы «для порядка»: можно потерять исходную кодировку. Храните оригинал и рядом — рабочую копию в согласованном формате. Тогда при спорной ситуации всегда есть чем проверить.

Чек-лист

  • Разделитель полей определён до импорта и совпадает с файлом.
  • Кодировка указана явно, русский текст проверен.
  • Поля с разделителем заключены в кавычки.
  • Число столбцов одинаково во всех строках.
  • Пустые строки в конце файла удалены.
  • Первые и последние строки просмотрены вручную.
  • Разделитель и кодировка записаны в описании набора.

Частые вопросы

Почему всё в одном столбце?

Не совпал разделитель полей.

Почему ломаются русские буквы?

Не совпала кодировка файла и импорта.

Что важнее всего?

Указать разделитель и кодировку до импорта.

Пример

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

Итог

CSV надёжен, когда разделитель и кодировка известны до импорта, а результат проверен по числу строк и типов.