Инструменты
Руководства

Инструменты CSV

Форматирование

Разбор, выравнивание и предпросмотр CSV/TSV с настраиваемыми разделителями и кавычками, двустороннее преобразование CSV ↔ JSON. Сортировка и дедупликация по столбцам — на базе papaparse.

100 % на клиенте Без бэкенда

Удалённые URL не запрашиваются; вставьте JSON напрямую.

Ввод
Вывод
Вставьте CSV слева и выберите режим.

В Европе разделителем CSV часто служит ;

На этой странице

Что такое набор инструментов CSV?#

CSV — формат наименьшего общего знаменателя для табличных данных: его читает любая электронная таблица, любой мастер импорта в БД и любой аналитический инструмент, и почти никто из них не сходится в деталях. Разделитель — запятая или точка с запятой? В первой строке заголовки? Значения в кавычках " или '? Файл, который идеально открывается в одном инструменте, может прийти покорёженным в другой просто потому, что значения по умолчанию различаются. Набор инструментов CSV существует, чтобы сделать эти выбора явными и переформировать файл под вашу задачу.

Эта страница делает четыре дела, и всё на papaparse. Выровнять разбирает файл и добивает каждую ячейку до ширины её столбца, давая моноширинную, выровненную по столбцам сетку, которую можно вставить прямо в code review, README или баг-репорт, — то расположение, при котором кривая строка сразу бросается в глаза. Просмотр разбирает и отрисовывает таблицу прямо на странице, поэтому данные можно оценить до того, как что-то с ними делать. CSV → JSON превращает строки в массив JSON (объектов при наличии заголовка, массивов в противном случае). JSON → CSV идёт в обратную сторону, принимая массив JSON и выдавая CSV. Поверх всего этого можно сортировать по любому столбцу, дедуплицировать полные строки, менять разделитель (запятая, точка с запятой, табуляция или свой односимвольный) и выбирать символ кавычек — те самые ручки, от которых зависит, переживёт ли файл следующий инструмент в вашем конвейере.

Как пользоваться#

  1. Вставьте CSV (или JSON, в режиме JSON → CSV) в панель Ввод слева. Плейсхолдер показывает ожидаемую форму; Пример загружает небольшой набор данных.
  2. Выберите кнопку режима: Выровнять, Просмотр или JSON. Когда выбран JSON, появляется вторая группа кнопок для направления — CSV → JSON или JSON → CSV.
  3. Задайте структурные параметры на панели инструментов:
    • Разделитель — Запятая (,), Точка с запятой (;), Табуляция или Свой (появляется односимвольное поле, по умолчанию |).
    • Кавычки — двойные (") или одинарные (').
    • Строка заголовка — отметьте, когда в первой строке имена столбцов; снимите для данных без заголовка. Режим заголовка определяет и разбор, и форму вывода JSON.
  4. По желанию приберите данные: выберите столбец Сортировать по (заполняется из заголовка, или числовой индекс для ввода без заголовка), выберите Порядок (По возрастанию или По убыванию) и отметьте Удалить дубликаты, чтобы убрать полные дубликаты строк.
  5. Прочитайте результат в панели Вывод (или в сетке предпросмотра в режиме Просмотр). Шапка показывает размер выхода и число строк; возьмите его через Копировать. Очистить сбрасывает обе панели.

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

Ключевые возможности#

  • Выход, выровненный по столбцам. Режим «Выровнять» добивает каждую ячейку до самого длинного значения в её столбце, поэтому CSV, выглядевший стеной запятых, вдруг выстраивается — бесценно для отлова строки, в которой не хватает поля.
  • Оба направления в JSON. CSV → JSON даёт массив объектов (с заголовками) или массив массивов (без заголовков). JSON → CSV принимает любую из этих форм обратно.
  • Учитывает разделитель. Переключайтесь между запятой, точкой с запятой (распространено в европейских локалях, где запятая — десятичный разделитель), табуляцией (TSV) или собственным символом. Подсказка под панелью напоминает, зачем нужна точка с запятой.
  • Сортировка и дедупликация. Числовая сортировка, когда оба значения похожи на числа, иначе лексикографическая. Дедупликация убирает точные повторы полных строк (строка заголовка сохраняется всегда).
  • Безопасный предпросмотр. Сетка предпросмотра строится безопасными DOM-API — только textContent, никогда не innerHTML ваших данных, — поэтому даже CSV, набитый тегами <script>, отрисовывается как инертный текст.
  • Строго на стороне клиента, с Web Worker для входов свыше 1 МБ.

Разбор примера#

Небольшая ростовая таблица с дублирующейся строкой и заголовком:

Ввод:

name,role,city
Ada,Engineer,London
Lin,Designer,Taipei
Ada,Engineer,London
Sam,Manager,Berlin

Третья строка точно повторяет Ada. Нажмите Выровнять с разделителем Запятая, заголовком включён, затем отметьте Удалить дубликаты:

name role     city
Ada  Engineer London
Lin  Designer Taipei
Sam  Manager  Berlin

Каждый столбец добит до своего самого широкого значения, поэтому три строки выстроились, а дубликат Ada исчез — строка состояния сообщает об одной удалённой строке. Теперь переключите режим на JSON (CSV → JSON) с теми же параметрами:

[
  { "name": "Ada", "role": "Engineer", "city": "London" },
  { "name": "Lin", "role": "Designer", "city": "Taipei" },
  { "name": "Sam", "role": "Manager", "city": "Berlin" }
]

Строка заголовка стала ключами объектов; каждая оставшаяся строка данных превратилась в объект. Сортировка по role переупорядочила бы строки лексикографически; сортировка по числовому столбцу — по значению.

FAQ#

Когда стоит использовать точку с запятой вместо запятой?#

Когда данные содержат запятые внутри значений и вы находитесь в локали (большая часть Европы, Латинская Америка), где запятая — десятичный разделитель: 3,14 там одно число, а не два поля. Excel в этих локалях по умолчанию экспортирует CSV через точку с запятой. Если файл открывается со всем, сваленным в столбец A, почти наверняка выбран неверный разделитель — переключитесь на точку с запятой и выровняйте заново.

Что именно сравнивает «Удалить дубликаты»?#

Он сравнивает целые строки на точное равенство, после того как заголовок отделён. Две строки считаются дубликатами, только если совпадает каждое поле, ячейка к ячейке. Строка заголовка дубликатом не считается и сохраняется всегда. Частичные совпадения (то же имя, другой город) дубликатами не являются.

Как CSV → JSON выбирает между объектами и массивами?#

Если Строка заголовка отмечена, каждая строка данных становится объектом, ключами которого служат имена столбцов. Если флажок снят, каждая строка становится массивом строк, помеченным Col 1, Col 2 и т. д. только в предпросмотре — JSON-выход остаётся обычным массивом массивов. Отмечайте заголовок, когда в первой строке действительно имена столбцов; снимите для «сырых» числовых сеток.

Мои данные куда-то отправляются?#

Нет. И разбор, и обратная сериализация идут в вашем браузере через papaparse, встроенный в страницу. Файлы свыше 1 МБ обрабатываются в Web Worker, чтобы UI оставался отзывчивым, но данные не покидают ваше устройство.