Konwerter CSV na YAML Online
Konwertuj tabele CSV do konfiguracji YAML. Bezpłatnie, w przeglądarce, bez przesyłania plików.
- nombre: Juan
edad: 30
ciudad: Madrid
- nombre: Maria
edad: 25
ciudad: Barcelona
- nombre: Carlos
edad: 35
ciudad: ValenciaPrzypadki użycia
CSV do YAML na potrzeby konfiguracji, inwentarzy i danych testowych
Inwentarze Ansible z Excela
Transformuj arkusze kalkulacyjne serwerów w inwentarze YAML gotowe do użycia w Ansible.
Konfiguracje Docker Compose
Generuj konfiguracje usług dla Docker Compose na podstawie tabel parametrów.
Fixtury i dane testowe
Konwertuj arkusze danych testowych QA na fixtury YAML dla pytest, RSpec lub Cypress.
100% prywatne
Konwersja odbywa się w Twojej przeglądarce. Twój plik CSV nigdy nie jest wysyłany na żaden serwer.
Jak to działa
Trzy kroki, żadnych komplikacji
Wklej lub prześlij plik CSV
Przeciągnij plik .csv lub wklej zawartość. Pierwszy wiersz definiuje klucze YAML dla każdego obiektu.
Automatyczna konwersja
Każdy wiersz CSV staje się obiektem YAML w ramach sekwencji. Typy danych są automatycznie rozpoznawane.
Skopiuj lub pobierz plik YAML
Skopiuj wygenerowany YAML do schowka lub pobierz go jako plik .yaml gotowy do użycia w Twoim projekcie.
FAQ
Masz pytania?
Narzędzie rozpoznaje typy automatycznie: wartości 'true' lub 'false' (bez cudzysłowów) są konwertowane na wartości logiczne YAML, całkowitoliczbowe wartości numeryczne na liczby całkowite, wartości dziesiętne na liczby zmiennoprzecinkowe, a pozostałe pozostają jako ciągi tekstowe. Ma to znaczenie dla zgodności z Ansible (które używa PyYAML/YAML 1.1) oraz z Kubernetes (które używa parsera Go, gopkg.in/yaml.v3, zgodnego z YAML 1.2). Jeśli wartość taka jak '007' musi pozostać ciągiem tekstowym (np. jako kod kraju), należy ją umieścić w cudzysłowie w oryginalnym pliku CSV.
Główne przypadki użycia to: generowanie inwentarzy Ansible z arkusza kalkulacyjnego serwerów (z kolumnami hostname, ip, group, user), tworzenie plików docker-compose.yml z wieloma usługami na podstawie tabeli konfiguracyjnej, generowanie konfiguracji zmiennych środowiskowych dla poszczególnych usług z pliku CSV parametrów aplikacji, tworzenie danych testowych (fixtures) dla pytest lub RSpec z arkuszy danych testowych udostępnianych zespołowi QA oraz generowanie plików Helm values.yaml dla wdrożeń Kubernetes na podstawie tabel konfiguracji środowisk.
Inwentarz Ansible w formacie YAML oczekuje określonej struktury z grupami i hostami. Jeśli Twój plik CSV ma kolumny takie jak 'host', 'ip', 'group' i 'user', bezpośrednia konwersja generuje płaską listę obiektów. Aby uzyskać hierarchiczną strukturę grup oczekiwaną przez Ansible, najbardziej użytecznym wynikiem jest lista obiektów hostów, którą można przetworzyć skryptem Python z użyciem PyYAML lub użyć bezpośrednio jako źródło dla dynamicznego skryptu inwentarza Ansible. Wiele zespołów DevOps utrzymuje podstawowy inwentarz w Google Sheets (eksportowany do CSV) i synchronizuje go z inwentarzem Ansible właśnie tym przepływem pracy.
Tak, z istotnymi ograniczeniami. Plik docker-compose.yml ma głęboko zagnieżdżoną strukturę (services > service_name > image, ports, environment, volumes), która nie mapuje się bezpośrednio do płaskiej tabeli. Można jednak wygenerować sekcję services jako listę obiektów z pliku CSV z kolumnami 'name', 'image', 'port_host', 'port_container', a następnie użyć szablonu lub skryptu, aby przekonwertować tę listę do finalnego formatu Compose. Takie podejście jest przydatne do generowania konfiguracji dla wielu środowisk (dev, staging, prod) z centralnej tabeli parametrów.
YAML ma kilka znaków specjalnych, które mogą powodować problemy, jeśli pojawią się bez znaków ucieczki w wartościach: dwukropek po którym następuje spacja (': ') jest interpretowany jako separator klucz-wartość, '#' rozpoczyna komentarz, '[', ']', '{', '}' to wskaźniki kolekcji przepływu, a '|' i '>' to wskaźniki skalara blokowego. Narzędzie automatycznie umieszcza w cudzysłowie wartości zawierające te znaki, używając odpowiednio cudzysłowów podwójnych lub pojedynczych, generując prawidłowy YAML poprawnie parsowany przez każdy standardowy parser YAML 1.2.
Tak, z zastrzeżeniem, że Ansible używa PyYAML implementującego YAML 1.1, podczas gdy Kubernetes używa gopkg.in/yaml.v3 implementującego YAML 1.2. Najistotniejsza praktyczna różnica to obsługa wartości logicznych: w YAML 1.1 'yes', 'no', 'on', 'off' są wartościami logicznymi; w YAML 1.2 tylko 'true' i 'false' (bez cudzysłowów). Narzędzie generuje YAML zgodny z oboma wersjami, używając wyłącznie 'true' i 'false' jako literałów logicznych, które są prawidłowe w obu specyfikacjach.
Konwertuj CSV do YAML: inwentarze Ansible, Docker Compose i masowe generowanie konfiguracji
YAML (YAML Ain't Markup Language, specyfikacja 1.2 opublikowana 1 października 2009 roku pod adresem yaml.org) to standardowy format plików konfiguracyjnych w ekosystemie DevOps: playbooki i inwentarze Ansible, manifesty Kubernetes, przepływy pracy GitHub Actions, potoki GitLab CI, plik docker-compose.yml, pliki Helm values.yaml oraz konfiguracje aplikacji we frameworkach takich jak Spring Boot (application.yml) czy Ruby on Rails (database.yml). Potrzeba masowego generowania konfiguracji YAML z arkuszy kalkulacyjnych jest częsta w zespołach platform engineering, DevOps i SRE: gdy do inwentarza infrastruktury dodawane są dziesiątki nowych serwerów (których źródłem prawdy jest arkusz zarządzania zasobami), gdy mikroserwis jest wdrażany w wielu środowiskach z różnymi parametrami zdefiniowanymi w tabeli, lub gdy zespół QA utrzymuje swoje dane testowe w Google Sheets i musi wygenerować je jako fixtury YAML do testów automatycznych.
Przypadek generowania inwentarzy Ansible z arkuszy kalkulacyjnych jest szczególnie powszechny w zespołach adoptujących Ansible do automatyzacji zarządzania istniejącą infrastrukturą. Serwery są już zinwentaryzowane w arkuszach kalkulacyjnych lub bazach CMDB (Configuration Management Databases) z informacjami takimi jak nazwa hosta, adres IP, system operacyjny, środowisko (produkcja, staging, development), grupa funkcjonalna (web, baza danych, cache, monitoring) i zmienne specyficzne dla serwera. Wyeksportowanie tego arkusza do CSV i konwersja do YAML generuje podstawę inwentarza Ansible, którą zespół może doprecyzować przez dodanie hierarchii grup i zmiennych grupowych. Przepływ ten skraca do minut to, co w innym przypadku wymagałoby ręcznego pisania setek linii YAML. Podobnie generowanie plików Helm values.yaml dla wielu środowisk (dev, staging, pre-prod, prod, według regionu geograficznego) z centralnej tabeli parametrów pozwala na utrzymywanie jednego źródła prawdy w formacie tabelarycznym (łatwo audytowalnym i edytowalnym przez cały zespół) i odtwarzalne generowanie plików YAML specyficznych dla każdego środowiska.
Innym istotnym przypadkiem użycia jest tworzenie danych testowych (fixtures) w YAML. Frameworki testowe takie jak pytest (przez wtyczki pytest-datadir lub pytest-yaml), Ruby on Rails (który używa fixtures YAML od Rails 1.0 z grudnia 2004 roku do zaludniania bazy danych w testach) i Cypress (który używa fixtures w YAML lub JSON do mockowania odpowiedzi API) wymagają danych testowych w formacie YAML lub JSON. Zespoły QA zazwyczaj definiują swoje przypadki testowe w współdzielonych arkuszach Google Sheets, z kolumnami reprezentującymi pola każdej encji testowej. Konwersja tych arkuszy do CSV, a następnie do YAML, automatycznie generuje fixtury, które inżynierowie testów mogą bezpośrednio włączyć do repozytorium. Ponadto konwersja CSV do YAML to pierwszy krok migracji danych konfiguracyjnych aplikacji z formatów legacy (pliki Java .properties, pliki .ini, tabele konfiguracyjne baz danych) do YAML, który jest preferowanym formatem przez nowoczesne frameworki. Convertir.ai wykonuje tę transformację w całości w przeglądarce, bez instalacji oprogramowania, bez limitów wierszy, z automatycznym rozpoznawaniem typów i generowaniem prawidłowego YAML zgodnego ze specyfikacją 1.2.