Hvorfor konvertere YAML til CSV?
Datasett skrevet i YAML for menneskelig lesbarhet - produktkataloger, kontaktlister, testdata - må ofte inn i et regneark, en database eller et rapporteringsverktøy. .CSV er det universelle utvekslingsformatet for slike overføringer, og aksepteres av Excel, Google Sheets og praktisk talt alle databaseimportører.
Hvordan konvertere YAML til CSV
Kommandolinje - yq CLI
Kjør yq -o=csv '.' input.yaml > output.csv etter å ha installert yq (gratis, Windows / macOS / Linux) fra github.com/mikefarah/yq.
Python - PyYAML + csv FREE
Installer PyYAML via pip, last deretter inn med yaml.safe_load() og skriv rader med den innebygde csv.DictWriter.
Python - pandas FREE
Etter pip install pandas pyyaml, konverter på én linje: pd.DataFrame(yaml.safe_load(open('input.yaml'))).to_csv('output.csv', index=False).
Om disse formatene
En .yaml- (eller .yml-) fil er strukturert data eller konfigurasjon i ren tekst skrevet i YAML, brukt for CI/CD-pipelines, Docker Compose, Kubernetes-manifester og app-konfigurasjon. Åpne…
Åpne .YAML-detaljer →En CSV-fil lagrer tabelldata som ren tekst - én rad per linje, med verdier separert av komma (eller semikolon i europeiske regioner). Alle regnearkprogrammer kan åpne den: Excel, Google…
Åpne .CSV-detaljer →Kvalitet og hva du bør passe på
- Bare flate, ensartede YAML-sekvenser konverteres rent - nøstede konfigurasjoner (Kubernetes, Docker Compose, CI-pipelines) produserer meningsløse eller tomme CSV-utdata.
- YAML-kommentarer og typedifferensiering (heltall, boolske verdier) går tapt; verdier som «yes», «no», «on» eller «off» kan bli feillest som boolske verdier av eldre parsere.
- Kolonnerekkefølgen følger nøkkelrekkefølgen i den første posten; hvis du trenger en spesifikk rekkefølge, definer
fieldnameseksplisitt eller endre rekkefølgen på nøklene i kildefilen.
Ofte stilte spørsmål
Min YAML har nøstede objekter. Kan jeg fortsatt konvertere den?
Fungerer dette med YAML-filer som inneholder flere dokumenter separert med `---`?
yq eval-all '[.]' input.yaml før du sender dem til CSV-flagget; dokumentene må fortsatt være ensartede flate sekvenser.