Инструменты CSV
ФорматированиеРазбор, выравнивание и предпросмотр CSV/TSV с настраиваемыми разделителями и кавычками, двустороннее преобразование CSV ↔ JSON. Сортировка и дедупликация по столбцам — на базе papaparse.
Удалённые URL не запрашиваются; вставьте JSON напрямую.
В Европе разделителем CSV часто служит ;
На этой странице
Что такое набор инструментов CSV?#
CSV — формат наименьшего общего знаменателя для табличных данных: его читает любая электронная таблица, любой мастер импорта в БД и любой аналитический инструмент, и почти никто из них не сходится в деталях. Разделитель — запятая или точка с запятой? В первой строке заголовки? Значения в кавычках " или '? Файл, который идеально открывается в одном инструменте, может прийти покорёженным в другой просто потому, что значения по умолчанию различаются. Набор инструментов CSV существует, чтобы сделать эти выбора явными и переформировать файл под вашу задачу.
Эта страница делает четыре дела, и всё на papaparse. Выровнять разбирает файл и добивает каждую ячейку до ширины её столбца, давая моноширинную, выровненную по столбцам сетку, которую можно вставить прямо в code review, README или баг-репорт, — то расположение, при котором кривая строка сразу бросается в глаза. Просмотр разбирает и отрисовывает таблицу прямо на странице, поэтому данные можно оценить до того, как что-то с ними делать. CSV → JSON превращает строки в массив JSON (объектов при наличии заголовка, массивов в противном случае). JSON → CSV идёт в обратную сторону, принимая массив JSON и выдавая CSV. Поверх всего этого можно сортировать по любому столбцу, дедуплицировать полные строки, менять разделитель (запятая, точка с запятой, табуляция или свой односимвольный) и выбирать символ кавычек — те самые ручки, от которых зависит, переживёт ли файл следующий инструмент в вашем конвейере.
Как пользоваться#
- Вставьте CSV (или JSON, в режиме JSON → CSV) в панель Ввод слева. Плейсхолдер показывает ожидаемую форму; Пример загружает небольшой набор данных.
- Выберите кнопку режима: Выровнять, Просмотр или JSON. Когда выбран JSON, появляется вторая группа кнопок для направления — CSV → JSON или JSON → CSV.
- Задайте структурные параметры на панели инструментов:
- Разделитель — Запятая (,), Точка с запятой (;), Табуляция или Свой (появляется односимвольное поле, по умолчанию
|). - Кавычки — двойные (
") или одинарные ('). - Строка заголовка — отметьте, когда в первой строке имена столбцов; снимите для данных без заголовка. Режим заголовка определяет и разбор, и форму вывода JSON.
- Разделитель — Запятая (,), Точка с запятой (;), Табуляция или Свой (появляется односимвольное поле, по умолчанию
- По желанию приберите данные: выберите столбец Сортировать по (заполняется из заголовка, или числовой индекс для ввода без заголовка), выберите Порядок (По возрастанию или По убыванию) и отметьте Удалить дубликаты, чтобы убрать полные дубликаты строк.
- Прочитайте результат в панели Вывод (или в сетке предпросмотра в режиме Просмотр). Шапка показывает размер выхода и число строк; возьмите его через Копировать. Очистить сбрасывает обе панели.
Если в строке неверное число полей или вход некорректен, строка состояния сообщает номер строки, поэтому вы можете починить источник, а не угадывать.
Ключевые возможности#
- Выход, выровненный по столбцам. Режим «Выровнять» добивает каждую ячейку до самого длинного значения в её столбце, поэтому 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 оставался отзывчивым, но данные не покидают ваше устройство.