Перейти к основному содержимому
FreeOnlineTools Go
Русский
Сравнение

CSV против TSV: Какой формат разделителя выбрать?

Автор: {author} · Обновлено 2026-09-02

Быстрый ответ

Используйте CSV для общего обмена данными, импорта/экспорта таблиц и максимальной совместимости. Используйте TSV когда данные содержат запятые, но не табы, чтобы избежать quoting и экранирования. TSV распространён в биоинформатике и NLP; CSV — универсальный default.

Введение

CSV (Comma-Separated Values) и TSV (Tab-Separated Values) — два plain-text формата для табличных данных. Оба хранят строки как линии с полями, разделёнными разделителем. CSV использует запятые; TSV использует табы. Выбор разделителя влияет на экранирование, совместимость с электронными таблицами и обработку текстовых полей, содержащих разделитель.

Шаг за шагом

  1. Сравните разделитель и экранирование

    CSV использует запятые. Если поле содержит запятую, ее необходимо заключить в кавычки: «Смит, Джон». Если поле содержит кавычки, их необходимо экранировать: «Он сказал «привет»»». TSV использует вкладки. Табуляция редко появляется в текстовых данных, поэтому поля TSV обычно не требуют заключения в кавычки или экранирования — это упрощает синтаксический анализ.

  2. Сравнить совместимость

    CSV поддерживается повсеместно: Excel, Google Sheets=Sheets, любая база данных, любой язык программирования. TSV также широко поддерживается, но менее стандартизирован — некоторые инструменты интерпретируют вкладки по-разному. Excel автоматически определяет оба формата, но форматом экспорта по умолчанию является CSV.

  3. Сравните сложность синтаксического анализа

    Для анализа CSV требуется конечный автомат для обработки правил цитирования (RFC 4180). Разбор TSV тривиален: разделите каждую строку по символу табуляции. Это ускоряет анализ TSV и снижает вероятность ошибок. Однако CSV имеет формальную спецификацию (RFC 4180); TSV не имеет формального стандарта.

  4. Сравните варианты использования

    CSV: импорт/экспорт электронных таблиц, данные APIs, конвейеры ETL, файлы конфигурации, универсальный обмен данными. TSV: биоинформатика (BLAST, GFF), НЛП (формат CoNLL), данные буфера обмена (копия из Excel = TSV), файлы журналов с разделителями табуляции.

  5. Решайте на основе ваших данных

    Если ваши данные содержат запятые (имена, адреса, предложения): TSV избегает кавычек. Если ваши данные содержат табуляции (редко в тексте): CSV избегает кавычек. Если вам нужна максимальная совместимость: CSV. Если вам нужен более простой анализ и ваши данные не содержат табуляций: TSV.

Примеры

Те же данные в CSV и TSV.

Вход: CSV: имя,возраст,город\n"Смит, Джон",30,"Нью-Йорк, Нью-Йорк"\nTSV: имя\возраст\tгород\nСмит, Джон\t30\tНью-Йорк, Нью-Йорк

Выход: CSV требует кавычек для полей с запятыми. TSV не нуждается в кавычках, поскольку в данных не отображаются табуляции.

Распространенные проблемы

  • CSV крайние случаи цитирования: поля, содержащие запятые, кавычки или символы новой строки, требуют правил цитирования RFC 4180 — простое разделение запятой приведет к повреждению данных со встроенными запятыми.
  • TSV не имеет формального стандарта: в отличие от CSV (RFC 4180), TSV не имеет официальной спецификации, поэтому инструменты могут обрабатывать крайние случаи по-разному — используйте TSV только внутри контролируемых конвейеров.
  • Проблемы с кодировкой Excel: Excel может экспортировать CSV со спецификацией или разделителями, зависящими от локали (точка с запятой в локалях ЕС) — укажите кодировку UTF-8 и проверьте разделитель при импорте.
  • Неоднозначность новой строки: поля CSV со встроенными символами новой строки действительны, но нарушают построчный анализ — TSV редко сталкивается с этой проблемой, поскольку в текстовых данных табуляция встречается редко.

Советы

  • Используйте CSV для максимальной совместимости — каждая электронная таблица, база данных и язык программирования поддерживают его изначально.
  • Используйте TSV, если ваши данные содержат запятые, но не табуляции (имена, адреса, предложения), чтобы полностью избежать сложности кавычек.
  • Всегда используйте правильный синтаксический анализатор CSV (не string.split) для обработки правил цитирования RFC 4180 — простое разделение повреждает поля со встроенными запятыми или кавычками.
  • При копировании данных из Excel в текстовый редактор буфер обмена использует формат TSV — вставьте в файл .tsv, чтобы правильно сохранить поля с запятыми.

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

Связанные руководства

Ссылки