Przejdź do narzędzia
ViewCSV
Plik nie jest nigdzie wysyłany

Konwertuj CSV do YAML

orders.csv· DANE PRZYKŁADOWE15 wierszy · 8 kolumn
Typy wartości
Wartości tekstowe, które wyglądają jak liczby, true/false lub daty, są ujmowane w cudzysłów, więc po odczytaniu pozostają tym samym tekstem.
- order_id: "001041"
  customer: Nikodem Kamiński
  city: Poznań
  product: Desk lamp
  quantity: "7"
  unit_price: "195.66"
  order_date: "2026-01-06"
  status: paid
- order_id: "001042"
  customer: Antoni Szymański
  city: Wrocław
  product: Chair, ergonomic
  quantity: "5"
  unit_price: "106.18"
  order_date: "2026-02-07"
  status: refunded
- order_id: "001043"
  customer: Franciszek Kamiński
  city: Gdańsk
  product: USB-C cable
  quantity: "1"
  unit_price: "142.78"
  order_date: "2026-03-19"
  status: pending
- order_id: "001044"
  customer: Nikodem Lewandowski
  city: Gdańsk
  product: Coffee beans 1kg
  quantity: "3"
  unit_price: "155.57"
  order_date: "2026-04-26"
  status: shipped
- order_id: "001045"
  customer: Aleksander Nowak
  city: Kraków
  product: Desk lamp
  quantity: "9"
  unit_price: null
  order_date: "2026-05-25"
  status: pending
- order_id: "001046"
  customer: Antoni Kowalski
  city: Szczecin
  product: Notebook A5
  quantity: "6"
  unit_price: "234.47"
  order_date: "2026-06-16"
  status: pending
- order_id: "001047"
  customer: " Maja Kamiński "
  city: Wrocław
  product: Coffee beans 1kg
  quantity: "6"
  unit_price: "239.01"
  order_date: "2026-07-02"
  status: pending
- order_id: "001048"
  customer: Julia Wójcik
  city: Gdańsk
  product: USB-C cable
  quantity: "8"
  unit_price: "212.47"
  order_date: "2026-08-02"
  status: paid
- order_id: "001049"
  customer: Zofia Wójcik
  city: Szczecin
  product: Chair, ergonomic
  quantity: "1"
  unit_price: "29.67"
  order_date: "2026-09-08"
  status: refunded
- order_id: "001050"
  customer: Aleksander Wójcik
  city: Poznań
  product: Desk lamp
  quantity: "7"
  unit_price: "61.38"
  order_date: "2026-01-17"
  status: shipped
- order_id: "001051"
  customer: Jakub Nowak
  city: Kraków
  product: Chair, ergonomic
  quantity: "3"
  unit_price: "76.09"
  order_date: "2026-02-20"
  status: paid
- order_id: "001052"
  customer: Jan Wójcik
  city: Poznań
  product: Monitor 27"
  quantity: "4"
  unit_price: "57.81"
  order_date: "2026-03-01"
  status: refunded
- order_id: "001053"
  customer: Alicja Dąbrowski
  city: Lublin
  product: Desk lamp
  quantity: "9"
  unit_price: "110.39"
  order_date: "2026-04-07"
  status: pending
- order_id: "001054"
  customer: Hanna Kowalski
  city: Wrocław
  product: Notebook A5
  quantity: "5"
  unit_price: "36.16"
  order_date: "2026-05-11"
  status: paid
- order_id: "001043"
  customer: Franciszek Kamiński
  city: Gdańsk
  product: USB-C cable
  quantity: "1"
  unit_price: "142.78"
  order_date: "2026-03-19"
  status: pending

15 wierszy · 1 plik

Otwórz lub wklej plik CSV, a każdy wiersz stanie się jednym elementem listy YAML z kluczami z nagłówka. Domyślnie każda wartość pozostaje tekstem, a wartości, które parser YAML zinterpretowałby inaczej – NO, yes, 0150, 2024-03-01, null – są ujmowane w cudzysłów, więc po wczytaniu wyglądają dokładnie tak, jak je zapisano. Plik jest konwertowany w Twojej przeglądarce i nigdy nie jest wysyłany na serwer.

Jak przekonwertować CSV do YAML

  1. Kliknij Otwórz plik, upuść plik .csv, .tsv lub .txt na narzędzie albo wybierz Wklej. Jeśli klucze wyglądają nieprawidłowo, sprawdź ogranicznik i kodowanie w sekcji Ustawienia importu.
  2. Wybierz Typy wartości i sposób zapisu w polu Puste komórki. Karta YAML pokazuje dokładnie ten tekst, który znajdzie się w pobranym pliku.
  3. Wybierz Wcięcia, a potem kliknij Kopiuj lub Pobierz YAML.

Wynikiem jest sekwencja najwyższego poziomu (elementy - key: value) – struktura używana w danych testowych (fixtures), danych startowych i plikach danych generatorów stron statycznych. Jeśli zamiast tego potrzebujesz JSON, narzędzie CSV do JSON ma te same opcje typów.

Opcje wyniku YAML

Zachowaj wszystkie wartości jako tekstUstawienie domyślne. Każda wartość jest ciągiem znaków YAML; cudzysłowy są dodawane tylko tam, gdzie zwykły skalar zostałby odczytany jako coś innego.
Rozpoznawaj liczby i true/falseKolumna staje się liczbami YAML tylko wtedy, gdy każda niepusta wartość jest zwykłą liczbą bez zer wiodących i z najwyżej 15 cyframi znaczącymi; kolumny true/false (dowolna wielkość liter) stają się wartościami logicznymi. yes/no i daty pozostają ciągami znaków w cudzysłowie. Liczby są zapisywane w postaci kanonicznej, więc 1.50 staje się 1.5.
Puste komórkinull (domyślnie) zapisuje key: null; Pusty tekst "" zapisuje key: ""; Pomiń klucz usuwa ten klucz z danego wiersza.
Wcięcia2 spacje (domyślnie) lub 4 spacje dla kluczy pod każdym elementem listy.

Jak cytowane są niejednoznaczne wartości

Wynik jest zapisywany tak, aby był odczytywany identycznie przez parsery YAML 1.2 i przez starsze parsery YAML 1.1, takie jak PyYAML, które traktują więcej słów jako wartości logiczne i liczby.

  • Kody krajów i odpowiedzi: NO, yes, off, y i on są ujmowane w cudzysłów, więc kod Norwegii nie zostanie wczytany jako false. Dotyczy to także kluczy ("on": x).
  • Zera wiodące: 0150 i 08001 są ujmowane w cudzysłów; bez cudzysłowu YAML 1.1 odczytuje je jako liczby ósemkowe lub dziesiętne i gubi zero.
  • Daty i liczby w trybie tekstowym: 2019-04-01 i 12 są ujmowane w cudzysłów, aby nie zostały wczytane jako znacznik czasu lub liczba całkowita.
  • Tekst przypominający null: komórka zawierająca null lub ~ jest ujmowana w cudzysłów, więc pozostaje wpisanym tekstem i nie myli się z pustą komórką.
  • Podziały wiersza wewnątrz wartości zamieniają się w blok dosłowny |-, a tekst zawierający : lub # jest ujmowany w cudzysłów. Długie linie nigdy nie są zawijane.
  • Nagłówki są używane jako klucze dokładnie w zapisanej postaci, łącznie ze spacjami, polskimi znakami i pismami niełacińskimi. Pusty nagłówek staje się Column 3, a powtórzony – name (2).

Typowe problemy przy konwersji CSV do YAML

  • Kolumna liczbowa pozostała w cudzysłowie mimo opcji Rozpoznawaj liczby i true/false. Co najmniej jedna wartość nie jest zwykłą liczbą, np. 1,5, 12 kg lub 007. Znajdziesz ją w przeglądarce CSV.
  • Kolumna yes/no nie stała się wartościami logicznymi. Konwertowane są tylko true i false, bo yes, no i on oznaczają wartości logiczne wyłącznie w YAML 1.1. Jeśli potrzebujesz wartości logicznych, najpierw zamień je w CSV narzędziem Edytor CSV.
  • Klucze zawierają dziwne znaki, np. é. Plik nie jest zapisany w UTF-8. Wybierz jego kodowanie w ustawieniach importu.
  • Wszystko jest pod jednym kluczem. Ogranicznik został źle rozpoznany; ustaw go w ustawieniach importu.

Limity i prywatność

Pliki do 25 MB, 100 000 wierszy lub 2 mln komórek otwierają się z podglądem pierwszych 200 wierszy na żywo. Większe pliki są konwertowane strumieniowo: plik jest odczytywany dwukrotnie we fragmentach (raz, aby zmierzyć kolumny i ich typy, i drugi raz, aby zapisać wynik), komunikat informuje, że pobrany plik obejmuje całość, a przycisk Kopiuj nie jest dostępny. Pojedynczy plik wynikowy może mieć najwyżej 4 GB.

Konwersja odbywa się w tle w tej karcie, więc strona cały czas reaguje, a Anuluj przerywa pracę. Plik CSV nigdy nie jest wysyłany na serwer.

Przykład: lista klientów z kodami krajów i kodami pocztowymi

Lista klientów z kodami krajów, kodami pocztowymi z zerami wiodącymi, flagami yes/no, datami i pustymi komórkami, przekonwertowana z ustawieniami domyślnymi (wszystko jako tekst, puste komórki jako null). Przy opcji Rozpoznawaj liczby i true/false zmienia się tylko orders – na 12, 3 i 7.

CSV
country,code,postcode,vat_registered,since,orders
Norway,NO,0150,yes,2019-04-01,12
Spain,ES,08001,no,2021-11-15,3
United States,US,02134,,,7
YAML
- country: Norway
  code: "NO"
  postcode: "0150"
  vat_registered: "yes"
  since: "2019-04-01"
  orders: "12"
- country: Spain
  code: ES
  postcode: "08001"
  vat_registered: "no"
  since: "2021-11-15"
  orders: "3"
- country: United States
  code: US
  postcode: "02134"
  vat_registered: null
  since: null
  orders: "7"

Pytania i odpowiedzi

Dlaczego `NO` jest w cudzysłowie?

W YAML 1.1 niecytowane NO, no, off i n oznaczają fałsz. Cudzysłów sprawia, że norweski kod kraju albo każda odpowiedź zapisana jako no pozostaje tekstem w każdym parserze.

Czy mogę zamiast listy dostać jedno mapowanie z kluczami według identyfikatora?

Nie. Każdy wiersz CSV jest zapisywany jako jeden element listy, w kolejności z pliku. Wynik z kluczami nie jest tu dostępny.

Czy wynik jest poprawnym YAML 1.2?

Tak. Dodatkowe cudzysłowy potrzebne dla YAML 1.1 są nadal poprawne w YAML 1.2; jedynie jawnie oznaczają wartości, które i tak były ciągami znaków.

Standardy i źródła