Konversi CSV ke YAML Online
Konversi tabel CSV ke konfigurasi YAML. Gratis, di browser Anda, tanpa mengunggah file.
- nombre: Juan
edad: 30
ciudad: Madrid
- nombre: Maria
edad: 25
ciudad: Barcelona
- nombre: Carlos
edad: 35
ciudad: ValenciaKasus penggunaan
CSV ke YAML untuk konfigurasi, inventaris, dan data pengujian
Inventaris Ansible dari Excel
Ubah spreadsheet server menjadi inventaris YAML yang siap digunakan Ansible.
Konfigurasi Docker Compose
Buat konfigurasi layanan untuk Docker Compose dari tabel parameter.
Fixture dan data pengujian
Konversi lembar data pengujian QA menjadi fixture YAML untuk pytest, RSpec, atau Cypress.
100% privat
Konversi berjalan di browser Anda. CSV Anda tidak pernah dikirim ke server mana pun.
Cara kerjanya
Tiga langkah, tanpa kerumitan
Tempel atau unggah CSV Anda
Seret file .csv Anda atau tempel kontennya. Baris pertama mendefinisikan kunci YAML untuk setiap objek.
Konversi otomatis
Setiap baris CSV menjadi objek YAML dalam sebuah urutan. Tipe data disimpulkan secara otomatis.
Salin atau unduh YAML-nya
Salin YAML yang dihasilkan ke clipboard atau unduh sebagai file .yaml yang siap digunakan dalam proyek Anda.
FAQ
Ada pertanyaan?
Alat ini menyimpulkan tipe secara otomatis: nilai true atau false (tanpa tanda kutip) dikonversi ke boolean YAML, nilai integer numerik ke integer, nilai desimal ke float, dan sisanya tetap sebagai string. Hal ini penting untuk kompatibilitas dengan Ansible (yang menggunakan PyYAML/YAML 1.1) dan dengan Kubernetes (yang menggunakan parser Go, gopkg.in/yaml.v3, kompatibel dengan YAML 1.2). Jika nilai seperti 007 harus tetap berupa string (misalnya, kode negara), nilai tersebut perlu dikutip dalam CSV asli.
Kasus utama meliputi: membuat inventaris Ansible dari spreadsheet inventaris server (dengan kolom seperti hostname, ip, group, user), membuat file docker-compose.yml dengan beberapa layanan dari tabel konfigurasi, membuat konfigurasi variabel lingkungan per layanan dari CSV parameter aplikasi, membuat fixture data pengujian untuk pytest atau RSpec dari lembar data pengujian yang dibagikan dengan tim QA, dan menghasilkan file Helm values.yaml untuk deployment Kubernetes dari tabel konfigurasi lingkungan.
Inventaris Ansible dalam format YAML mengharapkan struktur spesifik dengan grup dan host. Jika CSV Anda memiliki kolom seperti host, ip, group, dan user, konversi langsung menghasilkan daftar objek datar. Untuk mendapatkan struktur hierarki grup yang diharapkan Ansible, hasil paling berguna adalah daftar objek-host yang dapat Anda proses dengan skrip Python menggunakan PyYAML, atau gunakan langsung sebagai sumber untuk skrip inventaris dinamis Ansible. Banyak tim DevOps mempertahankan inventaris utama di Google Sheets (diekspor ke CSV) dan menyinkronkan dengan inventaris Ansible menggunakan alur kerja ini.
Ya, dengan keterbatasan penting. docker-compose.yml memiliki struktur bersarang dalam (services, nama-layanan, image, ports, environment, volumes) yang tidak langsung dipetakan ke tabel datar. Namun, dimungkinkan untuk membuat bagian services sebagai daftar objek dari CSV dengan kolom seperti name, image, port_host, port_container, lalu menggunakan template atau skrip untuk mengonversi daftar tersebut ke format Compose akhir. Pendekatan ini berguna untuk membuat konfigurasi untuk beberapa lingkungan (dev, staging, prod) dari tabel parameter terpusat.
YAML memiliki beberapa karakter khusus yang dapat menyebabkan masalah jika muncul tanpa escape di dalam nilai: titik dua diikuti spasi dianggap sebagai pemisah kunci-nilai, tanda pagar memulai komentar, tanda kurung siku dan kurung kurawal adalah indikator koleksi aliran, serta karakter pipa dan tanda lebih besar adalah indikator skalar blok. Alat ini secara otomatis mengutip nilai yang mengandung karakter-karakter tersebut menggunakan tanda kutip ganda atau tunggal sesuai kebutuhan, menghasilkan YAML valid yang diparsing dengan benar oleh parser YAML 1.2 standar mana pun.
Ya, dengan catatan bahwa Ansible menggunakan PyYAML yang mengimplementasikan YAML 1.1, sementara Kubernetes menggunakan gopkg.in/yaml.v3 yang mengimplementasikan YAML 1.2. Perbedaan praktis paling relevan adalah penanganan boolean: dalam YAML 1.1, yes, no, on, off adalah boolean; dalam YAML 1.2, hanya true dan false (tanpa kutipan) yang merupakan boolean. Alat ini menghasilkan YAML yang kompatibel dengan kedua versi dengan secara eksklusif menggunakan true dan false sebagai literal boolean, yang valid di kedua spesifikasi.
Konversi CSV ke YAML: inventaris Ansible, Docker Compose, dan pembuatan konfigurasi massal
YAML (YAML Ain't Markup Language, spesifikasi 1.2 diterbitkan 1 Oktober 2009 di yaml.org) adalah format standar untuk file konfigurasi dalam ekosistem DevOps: playbook dan inventaris Ansible, manifest Kubernetes, workflow GitHub Actions, pipeline GitLab CI, docker-compose.yml, file Helm values.yaml, dan konfigurasi aplikasi dalam framework seperti Spring Boot (application.yml) atau Ruby on Rails (database.yml). Kebutuhan untuk membuat konfigurasi YAML secara massal dari spreadsheet berulang di tim platform engineering, DevOps, dan SRE: ketika puluhan server baru ditambahkan ke inventaris infrastruktur (yang sumber kebenarannya adalah spreadsheet manajemen aset), ketika sebuah microservice di-deploy di beberapa lingkungan dengan parameter berbeda yang didefinisikan dalam tabel, atau ketika tim QA mempertahankan data pengujian di Google Sheets dan perlu membuatnya sebagai fixture YAML untuk pengujian otomatis.
Kasus pembuatan inventaris Ansible dari spreadsheet sangat umum di tim yang mengadopsi Ansible untuk mengotomatiskan pengelolaan infrastruktur yang sudah ada. Server sudah diinventarisasi dalam spreadsheet atau CMDB (Configuration Management Database) dengan informasi seperti hostname, alamat IP, sistem operasi, lingkungan (production, staging, development), grup fungsional (web, database, cache, monitoring), dan variabel khusus server. Mengekspor spreadsheet tersebut ke CSV dan mengonversinya ke YAML menghasilkan dasar inventaris Ansible, yang kemudian dapat disempurnakan oleh tim dengan menambahkan hierarki grup dan variabel grup. Alur kerja ini mengurangi waktu yang seharusnya diperlukan untuk menulis ratusan baris YAML secara manual menjadi hitungan menit. Demikian pula, membuat file Helm values.yaml untuk beberapa lingkungan (dev, staging, pre-prod, prod, per wilayah geografis) dari tabel parameter terpusat memungkinkan pemeliharaan satu sumber kebenaran dalam format tabular (mudah diaudit dan diedit oleh seluruh tim) dan menghasilkan file YAML spesifik lingkungan secara dapat direproduksi.
Kasus penggunaan relevan lainnya adalah membuat fixture data pengujian dalam YAML. Framework pengujian seperti pytest (melalui plugin seperti pytest-datadir atau pytest-yaml), Ruby on Rails (yang menggunakan fixture YAML sejak Rails 1.0 pada Desember 2004 untuk mengisi database dalam pengujian), dan Cypress (yang menggunakan fixture YAML atau JSON untuk mengejek respons API) memerlukan data pengujian dalam format YAML atau JSON. Tim QA biasanya mendefinisikan kasus pengujian mereka di Google Sheets bersama, dengan kolom yang merepresentasikan field setiap entitas pengujian. Mengonversi lembar tersebut ke CSV lalu ke YAML secara otomatis menghasilkan fixture yang dapat langsung dimasukkan oleh insinyur pengujian ke dalam repositori. Selain itu, konversi CSV ke YAML adalah langkah pertama untuk memigrasikan data konfigurasi aplikasi dari format lama (file .properties Java, file .ini, tabel database konfigurasi) ke YAML, yang merupakan format pilihan untuk framework modern. Convertir.ai melakukan transformasi ini sepenuhnya di browser, tanpa instalasi perangkat lunak, tanpa batas baris, dengan inferensi tipe otomatis dan pembuatan YAML valid sesuai spesifikasi 1.2.