Валидатор CSV

Валидатор CSV

Файл загружен:

CSV, который без проблем открывается в таблице, всё равно может не пройти импорт в базу данных или загрузку в API. Этот валидатор читает файл так, как описано в RFC 4180, и перечисляет каждую структурную ошибку с номером строки: кавычки, которые так и не закрылись, строки с неверным числом столбцов, пустые или повторяющиеся названия заголовков, маркер порядка байтов в начале файла и разделители, оставшиеся в конце строки. Вставьте текст или выберите файл, укажите разделитель (или доверьте определение инструменту) и прочитайте отчёт.

Как проверить CSV-файл

  1. 1

    Вставьте или загрузите CSV

    Вставьте текст в поле или выберите файл .csv, .tsv или .txt. Принимаются файлы до 1 000 000 символов.

  2. 2

    Выберите разделитель и строку заголовка

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

  3. 3

    Прочитайте отчёт

    Каждая проблема выводится с номером строки и понятным описанием и помечается как ошибка или предупреждение. Скопируйте отчёт, чтобы им поделиться.

  4. 4

    Исправьте и проверьте снова

    Исправьте строки в своём редакторе, начните заново и вставьте файл ещё раз, пока отчёт не сообщит, что проблем не найдено.

Что проверяет валидатор

RFC 4180 это самое близкое к стандарту, что есть у CSV. Он говорит, что записи разделяются переводами строк, что поля с разделителем, кавычкой или переводом строки нужно заключать в двойные кавычки, а кавычка внутри такого поля записывается дважды (""). Валидатор применяет эти правила к вашему тексту, а затем добавляет несколько проверок, важных на практике.

Проверки и способ их отображения

Проверка Уровень Что её вызывает
Незакрытая кавычка Ошибка Поле в кавычках открывается, а файл заканчивается раньше, чем оно закрыто. Показана строка, где кавычка открылась.
Кавычка внутри поля без кавычек Ошибка Символ " посреди поля, которое не начинается с кавычки, например 5" pipe.
Текст после закрывающей кавычки Ошибка После закрывающей кавычки идёт не разделитель и не перевод строки, например "abc"def.
Число столбцов Ошибка В строке больше или меньше полей, чем в первой строке.
Пустое название заголовка Ошибка Название столбца в строке заголовка пустое.
Повторяющееся название заголовка Ошибка Два столбца имеют одинаковое название без учёта пробелов и регистра (Name и name).
Маркер порядка байтов Предупреждение Файл начинается с невидимого символа U+FEFF.
Разделитель в конце строки Предупреждение Строка заканчивается разделителем, из-за чего появляется один лишний пустой столбец.
Пустая строка Предупреждение Пустая строка между записями.

Разделители

Автоматический режим смотрит на первые 25 непустых строк и выбирает запятую, точку с запятой, табуляцию или вертикальную черту, которая чаще всего делит их на одинаковое число полей. Разделители внутри полей в кавычках игнорируются, поэтому "Иванов, И." не считается двумя столбцами. Если два кандидата делят поровну, побеждает запятая. Файлы с разделителем «точка с запятой» часто встречаются там, где запятая служит десятичным знаком (например, в русскоязычных версиях Excel), поэтому, если в файле встречаются оба знака, выберите разделитель сами.

Номера строк

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

Частые причины ошибок в CSV

  • Экспорт из таблицы, который добавляет BOM; некоторые программы импорта читают его как часть названия первого столбца.
  • Столбец со свободным текстом, содержащим запятые или кавычки, которые скрипт экспорта не заключил в кавычки.
  • Склейка файлов с разным числом столбцов.
  • Запятая в конце строки, добавленная скриптом, который после каждого значения записывает разделитель.

Часто задаваемые вопросы

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

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

Нет. Он проверяет структуру файла: кавычки, разделители, число столбцов, названия заголовков, маркер порядка байтов и пустые строки. Он не проверяет, является ли значение корректным числом, датой или адресом электронной почты, а текст читает как UTF-8.

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

Сопутствующие инструменты

Генератор вымышленных телефонных номеров

Создавайте до 50 вымышленных номеров из официально зарезервированных диапазонов пяти стран.

Генератор конфигурации webpack

Создайте webpack.config.js для webpack 5 под чистый JavaScript, React или Vue: TypeScript, Babel, CSS или Sass, изображения, HtmlWebpackPlugin, dev-сервер и команда npm install.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Проверка телефонных номеров

Проверьте структуру номера по стране и получите регион, тип, форматы E.164, международный, национальный и RFC 3966.

Валидатор XSD

Проверьте XML-документ в соответствии с схемой XSD и выявите несоответствия между элементами и их типами, указав точные номера строк.

Конвертер размера файлов

Преобразуйте значения между байтами, КБ, МБ, ГБ, ТБ и двоичными единицами IEC (KiB, MiB, GiB, TiB), свободно сочетая десятичные и двоичные единицы.

Инструмент доступен на других языках