ДокументыИзображенияМедиаИнструменты PDF

Конвертер CSV в YAML Online

Конвертируйте CSV-таблицы в конфигурацию YAML бесплатно, прямо в браузере, без загрузки файлов.


- nombre: Juan
    edad: 30
    ciudad: Madrid
- nombre: Maria
    edad: 25
    ciudad: Barcelona
- nombre: Carlos
    edad: 35
    ciudad: Valencia
Processed in your browser

CSV в YAML для DevOps, тестирования и конфигурации

Инвентарь Ansible

Генерируйте inventory.yaml из таблиц хостов, управляемых в Excel или Google Sheets командами инфраструктуры.

Docker Compose и Helm

Создавайте docker-compose.yml и Helm values.yaml из CSV-описаний сервисов и параметров конфигурации.

Тестовые фикстуры

Конвертируйте CSV-тестовые данные в YAML-фикстуры для pytest, RSpec, Cypress и Jest.

100% конфиденциально

Конвертация выполняется в браузере. Ваши данные и конфигурации не покидают устройство.

Три шага — никаких сложностей

1

Вставьте или загрузите CSV

Вставьте содержимое CSV или загрузите файл .csv. Без регистрации, без ограничений по строкам.

2

Автоматическая конвертация

Каждая строка CSV преобразуется в объект YAML. Обработка выполняется в браузере без передачи данных.

3

Скопируйте или скачайте YAML

YAML готов для использования как инвентарь Ansible, docker-compose.yml, Helm values или тестовые фикстуры.

Остались вопросы?

Конвертер автоматически определяет типы: числа без кавычек становятся целыми или числами с плавающей точкой (42 → 42, 3.14 → 3.14), значения true/false/yes/no становятся булевыми (с учётом версии YAML), пустые ячейки — null. Строки сохраняются как строки. Если автоматическое определение типа нежелательно — например, телефонный номер 007 не должен стать числом 7 — включите режим принудительного квотирования строк, где все значения сохраняются в кавычках.

Основные сценарии: генерация инвентарей Ansible из таблиц хостов, поддерживаемых командами; создание docker-compose.yml с несколькими сервисами из CSV-описания компонентов приложения; подготовка файлов Helm values.yaml из таблицы параметров конфигурации среды; создание тестовых фикстур для pytest (conftest.py), RSpec (fixtures.yml), Cypress (fixtures/*.yaml) или Jest из CSV-тестовых данных; генерация конфигурационных файлов для инструментов, принимающих YAML (ESLint, Prettier, Dependabot).

Ansible inventory.yaml имеет структуру с группами хостов, каждый хост может иметь переменные. Подготовьте CSV с столбцами hostname, group, ansible_host, ansible_user и любыми другими переменными хоста. После конвертации в YAML получите последовательность объектов хостов, которую нужно встроить в секцию hosts соответствующей группы. Для больших инфраструктур с сотнями хостов управление в Excel/Google Sheets и генерация YAML значительно эффективнее ручного редактирования.

Да, если ваш CSV описывает сервисы с столбцами image, ports, environment и другими полями docker-compose. После конвертации в YAML вы получите список объектов сервисов, который нужно вставить в секцию services файла docker-compose.yml. Этот подход удобен при управлении микросервисной архитектурой с десятками сервисов: CSV в Google Sheets позволяет командам совместно редактировать конфигурации, а YAML генерируется автоматически.

Значения CSV, содержащие символы, значимые для YAML — двоеточие (:), решётку (#), фигурные скобки ({}) или квадратные скобки ([]) — автоматически заключаются в кавычки. Например, значение server: production станет 'server: production' в YAML. Специальные строки, которые могут быть приняты за другие типы данных (null, true, false, ~, числа с ведущими нулями), также квотируются. Это обеспечивает валидность итогового YAML без ручного редактирования.

Конвертер генерирует YAML 1.2 — стандарт, используемый Kubernetes и современными инструментами. Для Ansible, который использует PyYAML (YAML 1.1), важно учитывать обработку булевых значений: в YAML 1.1 yes/no/on/off интерпретируются как булевы. Если ваши CSV-данные содержат такие строки и они должны оставаться строками в Ansible, используйте режим принудительного квотирования строк или замените значения в CSV перед конвертацией.

Конвертировать CSV в YAML: Ansible, Docker Compose, Helm и тестовые фикстуры

CSV (Comma-Separated Values) и YAML (YAML Ain't Markup Language) занимают противоположные ниши в спектре форматов данных: CSV — плоская таблица без иерархии, типизации и комментариев; YAML — иерархический формат конфигурации с поддержкой вложенности, типизацией данных и читаемым синтаксисом. YAML был разработан в 2001 году Кларком Эвансом, Орен Бен-Кики и Инги Дёт, версия 1.2 опубликована в 2009 году. Несмотря на то что YAML задумывался как надмножество JSON (начиная с YAML 1.2 это строго выполняется), его читаемость и поддержка комментариев сделали его стандартным форматом конфигурации в DevOps-экосистеме. Практическая проблема: конфигурационные данные — инвентари хостов, параметры окружений, тестовые данные — часто собираются и управляются в табличном виде командами, привыкшими к Excel и Google Sheets. Конвертация CSV в YAML закрывает разрыв между привычными инструментами работы с данными и форматами, требуемыми DevOps-инструментами.

Ansible, платформа автоматизации ИТ-инфраструктуры от Red Hat, использует YAML для трёх основных типов файлов: playbook (последовательности задач), roles (переиспользуемые компоненты автоматизации) и inventory (описание управляемых хостов). Inventory в формате YAML может содержать тысячи хостов с переменными — управление таким инвентарём через прямое редактирование YAML неэффективно. Стандартный рабочий процесс в крупных организациях: команды инфраструктуры ведут реестр хостов в Google Sheets или Confluence, периодически экспортируют в CSV и генерируют YAML-инвентарь. Docker Compose (определённый в Compose Specification, поддерживается Docker, Podman и другими инструментами) использует YAML для описания многоконтейнерных приложений. При переходе от монолита к микросервисной архитектуре разработчики часто начинают с CSV-описания компонентов и их зависимостей, прежде чем написать финальный docker-compose.yml. Helm, пакетный менеджер Kubernetes, использует values.yaml для параметризации chart-ов; управление значениями для разных окружений (dev/staging/prod) через CSV и автоматическая генерация values-*.yaml — распространённый паттерн в командах платформенной инженерии.

Генерация тестовых фикстур из CSV — значимый сценарий для команд, следующих практикам data-driven testing. pytest (Python) поддерживает фикстуры через conftest.py и напрямую загружает YAML-данные через плагины pytest-datadir и pytest-yaml. RSpec (Ruby) использует YAML-фикстуры в spec/fixtures/. Cypress (JavaScript) загружает тестовые данные из fixtures/*.json и fixtures/*.yaml. Jest (JavaScript) поддерживает YAML через jest-yaml-transformer. CSV — удобный формат для тест-аналитиков и бизнес-аналитиков, описывающих тестовые сценарии: каждая строка — один тестовый случай со значениями входных данных и ожидаемыми результатами. Конвертация CSV в YAML автоматически генерирует тестовые фикстуры, которые разработчики подключают непосредственно к тестовым фреймворкам. Зависимость от версии YAML требует внимания: Ansible использует PyYAML (YAML 1.1), где yes/no являются булевыми; Kubernetes использует go-yaml v3 (YAML 1.2), где только true/false булевы. Инструмент поддерживает оба режима, обеспечивая совместимость с целевой системой.