Перейти к основному содержимому
Tooletto

TSV в JSON

Готовый вариант «CSV в JSON»

Конвертируйте данные, разделённые табуляцией (TSV), в JSON. Именно в формате TSV оказываются данные, если скопировать диапазон ячеек прямо из Excel или Google Таблиц и вставить его — без отдельного шага экспорта и без неоднозначности из-за запятых внутри значений.

  • Файлы никогда не покидают ваше устройство
  • Бесплатно, без регистрации
  • Без водяных знаков
  • Работает офлайн после загрузки
Loading tool…

Как пользоваться: csv в json

  1. 1

    Вставьте CSV

    Вставьте данные прямо из таблицы или введите их вручную.

  2. 2

    Настройте параметры

    Выберите разделитель, укажите, является ли первая строка заголовком, и нужно ли определять типы данных.

  3. 3

    Скопируйте JSON

    Скопируйте результат или скачайте его в виде файла .json.

Почему при вставке прямо из таблицы данные разделены табуляцией, а не запятыми

Если выделить диапазон ячеек в Excel или Google Таблицах и скопировать его, в буфер обмена по умолчанию попадают данные, разделённые табуляцией, а не запятыми — это осознанное и полезное решение, ведь запятая, встретившаяся внутри реального значения ячейки, никогда не будет спутана с разделителем столбцов. Для подавляющего большинства обычного текста не требуется никаких кавычек или экранирования, поскольку символ-разделитель (табуляция) практически никогда не встречается естественным образом внутри введённого в таблицу текста — в отличие от запятой, которая попадается регулярно.

Именно поэтому вставка прямо из таблицы, без явного шага «экспортировать как CSV», даёт на выходе TSV, а не CSV, — и именно распознавание и корректный разбор этого табуляционного разделителя позволяет данному варианту инструмента принимать вставку из буфера обмена Google Таблиц или Excel без промежуточного экспорта.

Что всё равно требует учёта кавычек, даже без неоднозначности с запятыми

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

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

Обрабатываются ли запятые внутри полей в кавычках?

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

Что определение типов делает с ведущими нулями?

Оставляет как есть. `007`, `+44` и значения, выходящие за пределы безопасного диапазона целых чисел JavaScript, остаются строками, поскольку почти всегда это идентификаторы, номера телефонов или почтовые индексы — преобразование их в числа незаметно уничтожило бы данные. Конвертируются только однозначные числа, логические значения и null.

Что происходит с повторяющимися именами столбцов?

Они делаются уникальными — второй столбец `name` превращается в `name_2`, — потому что два одинаковых ключа в объекте JSON незаметно перезаписали бы друг друга. Пустые заголовки становятся `column_1`, `column_2` и так далее.

Можно ли конвертировать файл Excel напрямую?

Пока нет — сначала сохраните или экспортируйте его в формат CSV (Файл → Сохранить как → CSV в Excel и Google Таблицах). Учтите, что во многих европейских локализациях Excel по умолчанию используется точка с запятой в качестве разделителя; если столбцы слипаются в один, переключите разделитель в настройках.

Загружаются ли мои данные куда-либо?

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