DokumentyObrazyMediaNarzędzia PDF

Konwerter YAML na CSV Online

Konwertuj konfiguracje YAML do tabel CSV. Bezpłatnie, w przeglądarce, bez przesyłania plików.

Processed in your browser

YAML do CSV na potrzeby audytów, raportów i analizy konfiguracji

Inwentarze Ansible do Excela

Eksportuj inwentarze YAML Ansible do CSV, aby audytować hosty i zmienne razem z zespołem nietech­nicznym.

Zasoby Kubernetes do arkusza

Konwertuj listy podów, usług lub wdrożeń do tabel na potrzeby raportów pojemności i kosztów.

Analiza potoków CI/CD

Transformuj konfiguracje GitHub Actions lub GitLab CI w tabele, aby wykrywać wzorce i niespójności.

100% prywatne

Konwersja odbywa się w Twojej przeglądarce. Twój plik YAML nigdy nie jest wysyłany na żaden serwer.

Trzy kroki, żadnych komplikacji

1

Wklej lub prześlij plik YAML

Przeciągnij plik .yaml lub .yml albo wklej zawartość bezpośrednio. Obsługiwany jest YAML 1.2 z sekwencjami obiektów.

2

Konwersja do tabeli

Każdy element sekwencji staje się wierszem CSV. Klucze z pierwszego obiektu są używane jako nagłówki kolumn.

3

Pobierz plik CSV

Pobierz wynikowy plik .csv lub skopiuj go do schowka, aby otworzyć w programie Excel, Google Sheets lub dowolnym narzędziu analitycznym.

Masz pytania?

CSV to format tabelaryczny, więc konwersja działa najlepiej dla YAML reprezentującego listę obiektów z takimi samymi kluczami — sekwencję mapowań na poziomie głównym. Przykłady to plik inwentarza Ansible z listą hostów, lista podów Kubernetes wyeksportowana przez kubectl get pods -o yaml lub plik danych testowych z wieloma wpisami tego samego typu. Głęboko zagnieżdżone struktury YAML są spłaszczane: wartości obiektów zagnieżdżonych mogą być przedstawiane jako dodatkowe kolumny ze ścieżkami kluczy rozdzielonych kropką (host.ip, host.port) lub jako serializowany JSON w jednej kolumnie.

Główne przypadki użycia to: eksportowanie inwentarzy Ansible (.yml) do programu Excel w celu audytu przez zespół operacyjny, konwertowanie list zasobów Kubernetes (pody, usługi, wdrożenia) do arkuszy kalkulacyjnych na potrzeby raportów pojemności lub rozliczania kosztów, analizowanie konfiguracji potoków CI/CD w GitHub Actions lub GitLab CI w formacie tabelarycznym w celu wykrywania wzorców i niespójności oraz transformowanie danych konfiguracyjnych aplikacji (zmienne środowiskowe, feature flagi, konfiguracja mikroserwisów) do tabel na potrzeby dokumentacji lub przeglądów.

Wartości skalarne (ciągi tekstowe, liczby, wartości logiczne) są mapowane bezpośrednio do komórek. Obiekty zagnieżdżone są spłaszczane z użyciem notacji kropkowej: pole address.city generuje w pliku CSV kolumnę address.city. Listy wewnątrz pól są serializowane jako tekst (np. '["wartosc1","wartosc2"]') w jednej komórce, ponieważ CSV nie ma natywnej reprezentacji tablic. To zachowanie jest standardowe w narzędziach takich jak yq, csvkit i pandas i stanowi powszechnie przyjętą konwencję spłaszczania hierarchicznych danych YAML do formatu tabelarycznego.

Tak. Inwentarze Ansible w formacie YAML (inventory.yml) zawierają grupy hostów ze zmiennymi dla poszczególnych hostów i grup. Konwersja inwentarza do CSV pozwala otworzyć wynik w programie Excel lub Google Sheets i filtrować hosty według zmiennej (np. wszystkie hosty z ansible_user=deploy), identyfikować hosty o niespójnych konfiguracjach, udostępniać inwentarz zespołom, które nie używają Ansible, lub generować raporty infrastruktury na potrzeby audytów bezpieczeństwa i zgodności.

Tak, z pewnymi zastrzeżeniami. Polecenie kubectl get pods -o yaml zwraca dokument YAML z polem items zawierającym listę obiektów Pod, z których każdy ma głęboko zagnieżdżoną strukturę (metadata, spec, status z wieloma poziomami). Konwersja spłaszcza tę strukturę: kolumny CSV będą miały ścieżki takie jak metadata.name, metadata.namespace, status.phase, status.podIP. Jest to wystarczająco użyteczne do szybkiej analizy: identyfikowania podów w stanie innym niż Running, wylistowania używanych obrazów kontenerów lub audytu etykiet i adnotacji na całej platformie.

YAML 1.1 (używany przez libyaml, PyYAML i większość narzędzi do ok. 2018 roku) interpretował pewne wartości w sposób zaskakujący dla współczesnych użytkowników: 'yes', 'no', 'on', 'off' były automatycznie konwertowane na wartości logiczne true/false, a liczby ósemkowe zapisywano z prefiksem 0 (nie 0o jak w YAML 1.2). YAML 1.2 (specyfikacja z 1 października 2009 roku, przyjęta przez js-yaml od wersji 4.0.0 w 2021 roku i przez gopkg.in/yaml.v3 w Go) usunął te niejasności. Jeśli Twój YAML pochodzi z Ansible (które używa PyYAML/YAML 1.1), zwróć uwagę, że wartości takie jak 'yes' mogły zostać przekonwertowane na true podczas parsowania.

Konwertuj YAML do CSV: inwentarze Ansible, zasoby Kubernetes i raporty CI/CD

YAML (YAML Ain't Markup Language, specyfikacja 1.2 z 1 października 2009 roku, dostępna pod adresem yaml.org) to dominujący format konfiguracji we współczesnym ekosystemie DevOps: Ansible używa go do playbooków, inwentarzy i ról od swojej pierwszej wersji w 2012 roku; Kubernetes używa go do wszystkich manifestów zasobów (Pody, Deploymenty, Serwisy, ConfigMapy, Sekrety) od pierwszego publicznego wydania w czerwcu 2014 roku; GitHub Actions używa go do definicji przepływów pracy od swojego uruchomienia w listopadzie 2019 roku; GitLab CI/CD używa go w pliku .gitlab-ci.yml od 2012 roku; Docker Compose używa YAML w pliku docker-compose.yml od wersji 1 z 2014 roku. Mimo że YAML jest idealny do pisania i czytania przez człowieka, jest to format hierarchiczny, który nie nadaje się naturalnie do analizy tabelarycznej, generowania raportów ani współpracy z zespołami operacyjnymi, zarządczymi lub finansowymi pracującymi na co dzień w arkuszach kalkulacyjnych. Konwersja YAML do CSV stanowi pomost między światem konfiguracji jako kodu (Infrastructure as Code) a światem analizy danych w arkuszach kalkulacyjnych.

Najczęstszym przypadkiem użycia w operacjach i SRE jest audyt inwentarzy Ansible. Inwentarz Ansible w YAML może zawierać setki lub tysiące hostów zorganizowanych w hierarchiczne grupy, z których każdy ma specyficzne zmienne (ansible_host, ansible_user, ansible_port, ansible_ssh_private_key_file, zmienne aplikacyjne jak app_version czy db_endpoint). Gdy zespół bezpieczeństwa potrzebuje listy wszystkich serwerów z ich adresami IP, systemami operacyjnymi i użytkownikami połączenia na potrzeby audytu zgodności (ISO 27001, SOC 2, PCI DSS), lub gdy zespół finansowy musi powiązać hosty z ich kosztami chmurowymi w ramach procesu rozliczania działów, format YAML inwentarza nie jest bezpośrednio użytkowy. Konwersja do CSV i otwarcie w programie Excel lub Google Sheets pozwala filtrować, sortować, tworzyć tabele przestawne i udostępniać informacje bez konieczności znajomości YAML ani Ansible. Podobnie kubectl get pods --all-namespaces -o yaml eksportuje pełny stan wszystkich podów w klastrze Kubernetes jako dokument YAML z listą items. Konwersja tej wartości wyjściowej do CSV generuje tabelę z kolumnami takimi jak namespace, name, status.phase, status.podIP, spec.nodeName, containerStatuses[0].image, co jest bezpośrednio analizowalne w celu identyfikacji podów z błędami, audytu wdrożonych obrazów kontenerów lub obliczenia rozkładu obciążenia według węzłów.

W kontekście CI/CD przepływy pracy GitHub Actions (.github/workflows/*.yml) i potoki GitLab CI (.gitlab-ci.yml) to pliki YAML ze strukturą zadań i kroków. W dużych repozytoriach z dziesiątkami lub setkami przepływów pracy, lub w organizacjach z wieloma zespołami zarządzającymi własnymi potokami, tabelaryczna analiza konfiguracji pozwala identyfikować wzorce takie jak zduplikowane zadania, niespójności w wersjach używanych akcji, niestandaryzowane zmienne środowiskowe lub zadania bez zdefiniowanego limitu czasu, które mogą blokować potoki na czas nieokreślony. Konwersja plików konfiguracyjnych CI/CD do CSV i załadowanie ich do arkusza kalkulacyjnego lub narzędzia analitycznego jak pandas czy Google Sheets umożliwia tego rodzaju audyt na dużą skalę. Ponadto konwersja YAML do CSV jest przydatna do transformacji danych feature flag (LaunchDarkly, Unleash, Flagsmith przechowują konfiguracje w YAML), konfiguracji mikroserwisów (każdy serwis ma plik Helm values.yaml z parametrami wdrożenia) oraz danych testowych w formacie YAML (fixtury pytest, dane testowe Rails w YAML) do analizowalnych tabel lub danych importowalnych do relacyjnych baz danych.