Konwerter CSV na YAML
Z YAML zbudowane są nowoczesne pliki konfiguracji: manifesty Kubernetes, przepływy GitHub Actions, Docker Compose, playbooki Ansible, fixtury Rails. Ten konwerter czyta CSV i tworzy sekwencję YAML, w której każdy wiersz staje się mapowaniem z kluczami z wiersza nagłówkowego. Wynik używa wcięcia dwuspacjowego i progu inline na poziomie 4, co pasuje do stylu większości edytorów i linterów.
Jak CSV staje się YAML
-
1
Wklej CSV
Próbka jest wczytana wstępnie, abyś zobaczył domyślny kształt wyniku; zastąp ją swoimi danymi.
-
2
Wybierz separator
Domyślnie przecinek. Wpisz `\t` dla wejścia rozdzielanego tabulatorem albo dowolny inny pojedynczy znak używany w twoim pliku.
-
3
Nagłówki stają się kluczami
Wiersz 1 traktowany jest jako nagłówek. Wiersze danych stają się mapowaniami pod tymi kluczami w tej samej kolejności co kolumny źródłowe.
-
4
YAML zrzucony bezpiecznie
Wynik renderuje komponent Symfony YAML, który ujmuje wartości w cudzysłów, gdy inaczej powstałaby niejednoznaczność z wartościami logicznymi, liczbami lub datami.
Dziwactwa YAML, które warto znać przed wklejeniem wyniku
YAML słynie z pobłażliwości na powierzchni i pełno w nim pułapek pod spodem. Zrzucacz radzi sobie z większością z nich, ale twoje dane i tak muszą przetrwać cykl tam i z powrotem.
Problem Norwegii i jego krewni
YAML 1.1 traktuje gołe no, yes, on, off, true, false, y, n (oraz ich formy z wielkiej litery) jako wartości logiczne. Oznacza to, że kolumna z kodem kraju z NO dla Norwegii może po cichu zamienić się w false.
| Komórka źródłowa | Emitowana jako (bez cudzysłowu) | Zwykle zamierzona jako |
|---|---|---|
NO |
false |
Kraj Norwegia |
ON |
true |
Stan Ontario |
123 |
123 |
Liczba albo identyfikator |
0100 |
64 (ósemkowo!) |
Kod z zerem na początku |
Zrzucacz automatycznie ujmuje ryzykowne wartości w cudzysłów, ale jeśli widzisz w wyniku błędne typy, przejdź dalej w łańcuchu na parsery YAML 1.2 albo jawnie ujmij w cudzysłów wartości, na których ci zależy.
Wybory formatowania
- Wcięcie dwuspacjowe. Standard dla większości edytorów; lintery takie jak
yamllintdomyślnie to przyjmują. - Próg inline 4. Głęboko zagnieżdżone struktury drukują się w jednej linii poniżej 4. poziomu, powyżej rozwijają się na wiele linii. Dostosuj dalej w łańcuchu, jeśli chcesz ściślejszych bloków.
- Kotwice i aliasy nie są generowane. Każdy wiersz to świeże mapowanie, nawet jeśli wiersze się powtarzają.
Przykładowy wynik
- name: Alice
age: 30
- name: Bob
age: 25
Kiedy wybrać YAML zamiast JSON
- Konfiguracje edytowane ręcznie, gdzie liczą się komentarze i ciągi wieloliniowe.
- Manifesty Kubernetes, potoki CI, playbooki Ansible.
- Każdy kontekst, w którym ludzie będą czytać plik tak samo często jak maszyny.
W przeciwnym razie JSON jest ściślejszy i szybszy w parsowaniu, wybieraj go do formatów transmisyjnych i generowanych ładunków.
Najczęściej zadawane pytania
YAML 1.1 interpretuje gołe NO jako wartość logiczną. Konwerter ujmuje ryzykowne wartości w cudzysłów, ale jeśli parser dalej w łańcuchu nadal wymusza typy, ujmij problematyczne komórki w cudzysłów przed wklejeniem wyniku albo przejdź na parser YAML 1.2, który traktuje je jako zwykłe ciągi.
Nie tym konwerterem, każdy wiersz staje się płaskim mapowaniem. Do zagnieżdżonego YAML zbuduj mały skrypt wokół biblioteki YAML albo najpierw przekonwertuj na JSON i ukształtuj go w edytorze JSON.
Komórki są parsowane przez str_getcsv z wybranym separatorem. Wartości w cudzysłowie zachowują osadzone separatory i cudzysłowy tak samo, jak zrobiłby to prawdziwy parser CSV.
Tak. Wklejony CSV jest wysyłany na nasz serwer, ponieważ parsowanie i serializacja YAML odbywają się tam. Dane są używane wyłącznie do wygenerowania wyniku YAML i nie są przechowywane.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Ściągawka do Markdown
Praktyczna ściągawka Markdown z prawdziwym podglądem i przykładami gotowymi do skopiowania: nagłówki, listy, tabele, kod, linki, obrazy i składnia GFM.
Symulator licznika rozkazów
Śledź uproszczony listing instrukcji o stałej długości z etykietami, skokami, wywołaniami, powrotami i adresami 16-, 24- lub 32-bitowymi.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Narzędzie jest dostępne w innych językach
- CSV → YAML 변환기 [KO]
- Chuyển đổi từ CSV sang YAML [VI]
- CSV-naar-YAML-converter [NL]
- CSV 转 YAML 转换器 [ZH]
- CSV zu YAML Konverter [DE]
- CSV to YAML Converter [EN]
- Konverter CSV ke YAML [ID]
- CSV-till-YAML-omvandlare [SV]
- تحويل CSV إلى YAML [AR]
- เครื่องแปลงข้อมูลจาก CSV เป็น YAML [TH]
- Convertidor de CSV a YAML [ES]
- Convertisseur CSV en YAML [FR]
- Conversor de CSV para YAML [PT]
- CSV→YAMLコンバーター [JA]
- CSV'den YAML'a Dönüştürücü [TR]
- Convertitore da CSV a YAML [IT]
- Конвертер CSV в YAML [RU]