CSV'den YAML'a Dönüştürücü

YAML, modern yapılandırma dosyalarının temel yapısını oluşturur: Kubernetes manifestleri, GitHub Actions iş akışları, Docker Compose, Ansible playbook’leri ve Rails fixture’leri. Bu dönüştürücü bir CSV dosyasını okuyarak her satırı başlık satırına göre eşleştirilen bir harita oluşturan bir YAML dizisi üretir. Çıkış, çoğu editör ve linterin kullandığı tarzda iki boşluklu indentasyon ve 4 seviyeli içsel eşik kullanır.

CSV nasıl YAML'ye dönüştürülür

  1. 1

    CSV dosyasını yapıştırın

    Örnek önceden yüklenmiştir ki varsayılan çıktı şekline bakabilesiniz; bunu kendi verilerinizle değiştirin.

  2. 2

    Ayrıcıyı seçin

    Virgül varsayılan değerdir. Tab tuşu ile ayrılmış giriş için `\t` veya dosyanızda kullanılan herhangi bir tek karakteri girin.

  3. 3

    Başlıklar anahtarlar haline gelir

    1. satır başlık olarak kabul edilir. Veri satırları, kaynak sütunların sırasına uygun olarak bu anahtarlar altında eşleme ilişkileri oluşturur.

  4. 4

    YAML güvenli bir şekilde boşaltıldı

    Çıkış, Symfony'in YAML bileşeni tarafından üretilir ve bu bileşen, boole değerleri, sayılar veya tarihlerle ilgili belirsizlikler ortaya çıktığında değerleri alıntılarla gösterir.

Çıkışı yapıştırmadan önce bilmeniz gereken YAML özellikleri

YAML, görünüşte çok hoşgörülü olsa da aslında birçok zararda bulunur. Veri aktarım aracı bu sorunların büyük bölümünü çözer; ancak verilerinizin bu dönüş yolculuğunu başarıyla atlaması gerekir.

Norveç Sorunu ve arkadaşları

YAML 1.1, no, yes, on, off, true, false, y ve n (ve bunların büyük harfli formları) gibi temel ülke kodlarını Boole değerleri olarak kabul eder. Bu nedenle Norveç için NO olan bir ülke kodu sütunu sessizce false’e dönüşebilir.

Kaynak hücresi (Alıntılanmamış olarak) yayılmıştır Genellikle şu anlamda kullanılır
NO false Ülkeyi Norveç
ON true Ontario eyaleti
123 123 Herhangi bir numara veya kimlik
0100 64 (oktal!) Ön sıfır kodu

Dumper, riskli değerleri otomatik olarak alıntılar; ancak çıktıda yanlış türler görüyorsanız, sonraki aşamalarda YAML 1.2 parselerine geçin veya ilgilendiğiniz değerleri açıkça alıntılayın.

Formatlama Seçenekleri

  • İki boşluklu girinti. Çoğu editörde standarttır; yamllint gibi linter’lar bunu varsayılan olarak kullanır.
  • Satır içi eşik 4. Derin iç içe geçmiş yapılar 4. seviyenin altında tek satırda yazılır; bu seviyenin üzerinde ise birden fazla satıra yayılır. Daha katı bloklar istiyorsanız sonraki aşamada ayarlayın.
  • Çapalar ve takma adlar oluşturulmaz. Satırlar tekrarlansa bile her satır yeni bir eşlemedir.

Örnek Çıkış

- name: Alice
  age: 30
- name: Bob
  age: 25

JSON yerine YAML’ı ne zaman seçmelisiniz?

  • Yorumların ve çok satırlı dizelerin önemli olduğu, elle düzenlenen yapılandırma dosyaları.
  • Kubernetes manifestoları, CI hatları ve Ansible playbook’ları.
  • İnsanların dosyayı en az makineler kadar okuyacağı her türlü bağlam.

Aksi takdirde JSON, daha katı ve analiz edilmesi daha hızlıdır; bu nedenle kablolu formatlar ve oluşturulan yükler için tercih edilmelidir.

Sık Sorulan Sorular

YAML 1.1, temiz NO verisini bir boole değer olarak yorumlar. Dönüştürücü riskli değerleri alıntılar; ancak bir sonraki analiz aracı türleri zorla belirlerse, çıktıyu yapıştırmadan önce sorunlu hücreleri alıntılamalı veya bu değerleri basit karakter dizisi olarak işleyen bir YAML 1.2 analiz aracına geçmelisiniz.

Bu dönüştürücü kullanıldığında bu durum geçerli değildir; her satır düz bir eşleme oluşturur. Yatay olarak yerleştirilmiş YAML dosyaları için bir YAML kütüphanesi temelinde küçük bir betik oluşturun ya da dosyayı önce JSON’e dönüştürün ve ardından bir JSON düzenleyicisinde şekillendirin.

Hücreler, seçtiğiniz ayrım belirteçini kullanarak str_getcsv ile analiz edilir. Alınan değerler, yerleştirilmiş ayrım belirteçlerini korur ve tırnaklamaları gerçek bir CSV analiz programında olduğu gibi yapar.

Evet. Yapıştırdığınız CSV, analiz ve YAML seriyalizasyonu sunucuda yapıldığı için sunucumuza gönderilir. Yalnızca YAML çıktısını üretmek için kullanılır ve saklanmaz.

İlgili Araçlar

Araç diğer dillerde mevcuttur