Конвертер CSV в YAML
Откуда обычно берутся файлы CSV: экспорт из Excel, дампы баз данных, аналитические конвейеры, массовые импорты (таблицы, экспорт из баз данных и обмен табличными данными). После конвертации получается файл YAML — без потерь —, который не открывается ни в одном браузере.
Что меняется при конвертации CSV в YAML
Из 7 свойств на этой странице между двумя форматами меняются 6.
- Формат: CSV — Comma-Separated Values (RFC 4180 / spreadsheet convention) → YAML — YAML Ain't Markup Language (YAML 1.2)
- Кодирование: без потерь: Обычный текст, опционально с gzip → без потерь: Текст, опционально с gzip; бинарного сжатия нет
- Тип: данные → данные
- Метаданные: Строка заголовков (по соглашению); нет стандарта для типов, комментариев и данных на нескольких листах → Комментарии (с #), маркеры документов (---, ...), якоря и алиасы, теги
- Браузеры: Ни один браузер не отображает CSV нативно; файл скачивается как текст → Ни один браузер не отображает YAML нативно
- Приложения и среды: Любая таблица, база данных и инструмент для данных — Excel, Google Sheets, pandas, R, LibreOffice → В каждом языке есть парсер YAML; Python, Ruby, Go, JavaScript, Java — первого класса
- Типичный файл: 10 КБ – 50 МБ для типичной таблицы или выгрузки → 1 КБ – 2 МБ для типичного конфигурационного документа
Подводные камни CSV при конвертации
Что конвертация теряет — по описанию самого формата.
- В CSV нет системы типов — каждая ячейка это строка, поэтому '00123' и 123 при чтении неразличимы.
- Запятые, кавычки и переводы строк внутри значений требуют экранирования; правленный вручную CSV часто ломает парсеры.
Как получить хороший результат
- Проверьте, что целевой формат вмещает всё из исходного: CSV не имеет собственной битовой глубины, YAML не имеет собственной битовой глубины.
- Сконвертируйте один файл и сравните его с оригиналом, прежде чем браться за остальные. CSV — без потерь (обычный текст, опционально с gzip).
- Проверьте, что сохраняет YAML: Строка заголовков (по соглашению) переносится; всё, чего нет в списке целевого формата, теряется.
- Таблицы, экспорт из баз данных и обмен табличными данными: типичный файл CSV занимает 10 КБ – 50 МБ для типичной таблицы или выгрузки.
Часто задаваемые вопросы
6 из 7 свойств на этой странице меняются: формат, кодирование, метаданные, браузеры, приложения и среды, типичный файл. Остаются прежними: тип.
CSV не имеет собственной битовой глубины; YAML не имеет собственной битовой глубины. Ни у одного из форматов нет цветовой модели, которую можно потерять, но конвертация меняет не только контейнер и кодировку: В CSV нет системы типов — каждая ячейка это строка, поэтому '00123' и 123 при чтении неразличимы. Запятые, кавычки и переводы строк внутри значений требуют экранирования; правленный вручную CSV часто ломает парсеры.
Конфигурационные файлы, CI/CD-конвейеры, манифесты Kubernetes и инструменты DevOps: типичный файл YAML занимает 1 КБ – 2 МБ для типичного конфигурационного документа.
Приложения, которые открывают YAML: В каждом языке есть парсер YAML; Python, Ruby, Go, JavaScript, Java — первого класса. CSV читают: Любая таблица, база данных и инструмент для данных — Excel, Google Sheets, pandas, R, LibreOffice.