CSV を YAML に変換する
表形式の CSV データを YAML に変換し、構造化された設定やドキュメントに使います。各行が列ヘッダーをキーとする YAML のリスト項目になります。
- 1
CSV はフラットな表形式で、YAML はネスト構造をサポートします。CSV から YAML への変換はマップのリストを生成します。各 CSV 行が YAML のリスト項目になり、列ヘッダーがキー、セル値が値になります。スプレッドシートから設定ファイルを作る場合に便利です。
- 2 CSV コンバーター →
CSV ファイルをパースして中間形式(JSON)に変換します。最初の行はヘッダー(列名)として扱われ、以降の行がデータレコードになります。区切り文字(カンマ、セミコロン、タブ)と引用規則を指定します。
- 3 YAML コンバーター →
中間 JSON を YAML に変換します。各レコードは列ヘッダーをキーとする YAML のリスト項目になります。YAML の構文は設定ファイルとして JSON より読みやすく、ほとんどの値に引用符が不要で、コメントも書けます。
- 4 json-csv
最初のステップとして CSV-to-JSON ワークフローを使い、その後 JSON を YAML に変換すれば、完全な CSV-to-YAML パイプラインになります。
- 5
階層的な YAML(ネストされたオブジェクト)が必要な場合は、変換後に変換ステップが必要です。CSV はフラットなので、最初の YAML はフラットなリストになります。ネストを作るには命名規則(例:列ヘッダーを parent.child にする)を使うか、YAML を手動で後処理してください。
よくある質問
- CSV の型は YAML でどう扱われますか?
- CSV の値はデフォルトで文字列です。YAML は引用符なしの値を数値、ブール値、null として解釈します。文字列型を保持するには、YAML で値を引用符で囲んでください。型を強制するには(日付のパース、数値へのキャストなど)スキーマや後処理を使います。
- YAML を CSV に戻せますか?
- フラットな YAML(同じキーを持つマップのリスト)のみ可能です。ネストされた YAML やキーが不定の YAML は CSV にマッピングできません。ラウンドトリップ変換が必要な場合は、YAML をフラットかつ同質に保ってください。
このタスクを解決するワークフロー
JSON 経由で 2 つの YAML 設定を比較
構造化された値の差分比較しやすいように、YAML 設定を JSON に変換する。 パイプライン
CSV から JSON へ変換
最初の行をプロパティ名として使用し、CSV データを JSON オブジェクトの配列に変換する。 パイプライン
CSV から JSON を経て YAML へ変換
スプレッドシートの CSV データを JSON 中間体を経て YAML に変換し、設定生成に適した形にする。 パイプライン
YAML から JSON へ変換
YAML ドキュメントを JSON に変換し、型強制のサプライズのために解析された値を検査する。 パイプライン
YAML から JSON を経て CSV へ変換
YAML を JSON に変換し、その後スプレッドシート使用のために CSV に変換する。 パイプライン
YAML から TypeScript インターフェースを生成
YAML ドキュメントを TypeScript インターフェース定義に変換し、JSON を中間フォーマットとして使用する。 パイプライン
YAML の検証とフォーマット
YAML を JSON に変換して構造を検証し、その後 JSON が well-formed であることを確認する。 パイプライン