ToolConvoyToolConvoyv2.6
DATA

YAML to CSV — ブラウザで YAML データを CSV スプレッドシートに変換

YAML データを CSV スプレッドシートに変換します。ネスト構造、設定可能な区切り文字、配列形式の出力に対応。すべてクライアントサイドで動作します。

● ローカル動作 · ゼロコピーパイプラインページ読み込み以降のツールによる通信:0件

YAML は読みやすさのために業界が選んだ設定言語であり、CSV は普及度のために業界が選んだデータフォーマットです。YAML ファイルはインフラ(Kubernetes の manifest、Ansible の playbook)、アプリケーション設定(Spring Boot の設定、Rails の database.yml)、パイプライン定義(GitHub Actions、GitLab CI)を定義します。CSV ファイルは、その YAML 上で動くシステムにレポート出力を依頼したときに得られるものです。YAML から CSV への変換は、設定とレポートの橋渡しとなります。サービスの一覧はサービスのメタデータを含むスプレッドシートになり、CI パイプラインの定義はジョブ名とそのトリガーを含むテーブルになり、機能フラグのセットはコンプライアンス監査用のスプレッドシートになります。

変換は構造的にシンプルです — YAML のオブジェクトの配列は CSV の「ヘッダー + 複数行」というパターンに直接対応します — ただし、エッジケースは CSV が表現できない YAML の機能にあります。anchor と alias によって YAML の作者は繰り返しを避けられ、変換器はフラット化する前にこれらを解決します。!!int や !!bool のようなタグによって YAML は型付きの値を保持でき、変換器はそれらを文字列化して CSV のセルに書き込みます。spec.containers[0].image のようなネストオブジェクトはドット記法の列名となり、ヘッダー行では読みやすいものの、ネストが深いと冗長になります。こうしたエッジケースのそれぞれには妥当なデフォルトが用意されており、出力はあらゆるスプレッドシートアプリで開ける有効な CSV となります。

最終的な引き渡しについて:CSV 出力を BI ツール(Tableau、Power BI、Looker)に取り込む場合は、ドット記法の列ヘッダーがツールの命名ルールと互換であるか確認してください(一部の BI ツールは列名にドットを含むものを拒否します)。YAML ソース内のオブジェクト配列が一様でない場合(各オブジェクトでキーが異なる)、CSV の列数はすべてのキーの和集合となります — 一様でないデータには JSON を中間形式とする JSON-to-CSV ツールを使うほうが適しています。宛先がデータベースへのインポートであれば、ほとんどのデータベースには構造化データ向けの YAML インポーターがあり、中間ステップとして CSV を経由するのは不要な場合があります。

広告

使い方

  1. YAML データを貼り付ける

    YAML の文字列またはファイルを入力欄にドロップします。パーサーは YAML 1.2 を読み込みます — オブジェクトの配列、配列の配列、ネストされたマッピングに対応します。デフォルトではトップレベルの配列が行データのソースとして扱われます。

  2. 行データのソースを選択する

    YAML がトップレベルのマッピングで配列を囲んでいる場合(例:`items: [...]`)、ドロップダウンから配列のキーを選んでください。配列内の各オブジェクトのキーが CSV の列ヘッダーになります。

  3. CSV をコピーまたはダウンロードする

    デフォルトの区切り文字はカンマです。特定のインポート先に応じてセミコロン、タブ、パイプに切り替えることができます。UTF-8 BOM 付きの .csv ファイルとしてダウンロードするか、スプレッドシートに貼り付けるためにクリップボードへコピーします。

よくある質問

YAML の anchor と alias は CSV に変換できますか?

はい。YAML の anchor(`&name`)と alias(`*name`)は解析時に解決され、展開されたデータが CSV へ変換されます。merge key(`<<:`)も、フラットなテーブル出力を生成する前に解決されます。

CSV 変換時、ネストされた YAML オブジェクトはどうなりますか?

ネストされたオブジェクトはドット記法の列名にフラット化されます。`address.city` のような YAML フィールドは `address.city` という CSV 列になり、値は文字列となります。深くネストされた構造では列数が非常に多くなります — 扱いやすい幅にフラット化する前処理が必要かもしれません。

オブジェクト内の YAML 配列はどのように扱われますか?

オブジェクト内のスカラーの配列は、デフォルトではカンマ区切りで 1 つのセルに結合されます。`[red, green, blue]` という配列は文字列 `red, green, blue` になります。カンマが CSV の区切り文字と衝突する場合は、設定で結合文字を変更できます。

変換器は YAML キーの順序を保持しますか?

はい、保持されます。YAML のマッピングはキーの順序を保持し、CSV の列はソース配列の先頭オブジェクトのキー順序に従います。後ろのオブジェクトに余分なキーがある場合は、新しい列が右側に追加されます。

制限事項

  • YAML タグやカスタム型の処理は未対応YAML タグ(`!!timestamp`、`!!binary` など)は文字列表現にデコードされますが、型付きの値には変換されません。CSV の出力はすべて文字列です — 型に応じた書式設定はスプレッドシート側で行ってください。
  • 深いネストは CSV を縦に広げます5 階層ネストした YAML 構造は、数十個のドット記法の列を生成し得ます。スプレッドシートは古い Excel で 256 列、最新版で 16,384 列の上限があります — 出力がターゲットの上限を超える場合は、ソースの YAML を切り詰めてください。
  • スカラーの YAML は 1 セルの CSV を生成します入力 YAML がスカラー(単一の文字列、数値、ブール値)の場合、出力 CSV はその値を含む 1 セルになります。変換器は構造化データを想定しており、スカラー YAML に対して意味のある出力は生成しません。

プラットフォーム別の注意点

macOS
Numbers および Mac 版の Excel は CSV をネイティブに取り込めます。YAML の設定データをスプレッドシートに変換し、技術以外の関係者がレビューする用途には、このブラウザツールが適しています。
Linux
CLI での同等手段:`yq -o csv input.yaml` はシンプルな YAML の変換を処理できます。本ブラウザツールはパスセレクター、区切り文字の選択肢、BOM 出力といった機能を追加しており、yq の CSV 出力には備わっていないものです。
Web
すべての YAML 解析と CSV 生成はクライアントサイドで実行されます。データがサーバーに送信されることはありません。一度読み込めばオフラインでも動作します。
広告

関連ツール

広告