Как пользоваться
- Вставьте текст CSV, откройте файл .csv или .tsv либо нажмите «Попробовать пример».
- Оставьте «Определять автоматически» или выберите разделитель вручную и укажите, содержит ли первая строка названия столбцов.
- При необходимости включите определение чисел, логических значений и null, а также выберите формат результата: объекты или массивы.
- Скопируйте JSON или скачайте его в виде файла .json.
Как это работает
Парсер соответствует RFC 4180 — спецификации CSV: поля можно заключать в двойные кавычки, внутри заключённого в кавычки поля могут быть разделители и переносы строк, а две двойные кавычки внутри такого поля обозначают один символ кавычки. Переносы строк могут быть CRLF (Windows), LF (macOS, Linux) или CR; завершающий перенос строки не создаёт пустую запись. Полностью пустые строки пропускаются. BOM в начале файла, который часто добавляет Excel, удаляется. Если закрывающей кавычки нет, появится ошибка с номером строки, где поле начинается: попытка угадать привела бы к тому, что остаток файла незаметно слился бы в одну ячейку.
Автоопределение проверяет запятые, точки с запятой, табуляцию и вертикальные черты в первых строках и выбирает разделитель, при котором число столбцов получается одинаковым. Если есть строка заголовков, каждая запись становится объектом с ключами, заданными названиями столбцов. Пустые названия заменяются на column_1, column_2…; к повторяющимся названиям добавляется суффикс, например id_2. Если в строке меньше полей, чем в заголовке, недостающие значения будут пустыми; для лишних полей создаются дополнительные названия столбцов.
По умолчанию все значения остаются строками — так безопаснее: почтовые индексы вроде 01234, номера телефонов и идентификаторы сохраняют начальные нули. Если включить определение типов, значения в точном формате JSON-чисел преобразуются в числа (но не 007, 1,5 и целые числа больше 2^53), true и false в любом регистре — в логические значения, а null и пустые ячейки — в null. Даты остаются текстом.
Примеры
Экспорт из таблицы
id,name,price\n1,Desk,149.90 преобразуется в [{"id":"1","name":"Desk","price":"149.90"}]. Если включить определение типов, результат будет таким: {"id":1,"name":"Desk","price":149.9}.
Файлы Excel для Европы
В файле, сохранённом в Excel в Германии, используется точка с запятой: Name;Preis\nTisch;149,90. Автоопределение выбирает точку с запятой, а 149,90 остаётся строкой "149,90", поскольку это не число в формате JSON.
Ячейки с переносами строк
Адресная ячейка со значением "221B Baker Street London" (в кавычках, на двух строках) остаётся одним значением — "221B Baker Street\nLondon", а не начинает новую строку.
Часто задаваемые вопросы
Почему числа в JSON представлены строками?
В CSV нет типов данных, поэтому по умолчанию каждое значение сохраняется как текст, точно в том виде, как оно записано. Включите «Определять числа, true/false и null», чтобы преобразовывать значения, похожие на числа. Начальные нули и десятичные запятые остаются текстом, чтобы избежать изменения данных.
Что если в строке столбцов больше или меньше, чем в заголовке?
Отсутствующие значения становятся пустыми строками (или null, если включено определение типов). Лишние значения сохраняются под дополнительными ключами column_N, поэтому данные не теряются.
Можно ли открыть файлы Excel .xlsx?
Нет, поддерживаются только текстовые файлы CSV и TSV. В Excel или Google Sheets сначала выберите «Файл › Сохранить как» или «Скачать › CSV», а затем откройте файл здесь.
Файлы какого размера можно преобразовать?
Файлы размером в несколько мегабайт преобразуются за мгновение на настольном компьютере. Ограничение зависит от памяти устройства: весь файл и результат JSON хранятся во вкладке браузера.
Конфиденциальность
CSV-файл читается и преобразуется только в браузере. Открытые файлы не загружаются на сервер, данные не сохраняются и не отправляются в системы аналитики.