CSV→YAMLコンバーター
YAMLは現代の設定ファイルを構成するものです:Kubernetesマニフェスト、GitHub Actionsのワークフロー、Docker Compose、Ansibleのプレイブック、Railsのフィクスチャ。このコンバーターはCSVを読み取り、各行がヘッダー行をキーとするマッピングになるYAMLのシーケンスを生成します。出力は2スペースのインデントと4レベルのインライン閾値を使い、ほとんどのエディターやリンターのスタイルに合います。
CSVがYAMLになる仕組み
-
1
CSVを貼り付ける
既定の出力の形がわかるようサンプルが事前に読み込まれています。自分のデータに置き換えてください。
-
2
区切り文字を選ぶ
既定はカンマです。タブ区切りの入力には`\t`を、ファイルが使う他の任意の1文字を入力します。
-
3
ヘッダーがキーになる
1行目がヘッダーとして扱われます。データ行は、元の列と同じ順序でそれらのキー下のマッピングになります。
-
4
YAMLが安全にダンプされる
出力はSymfony YAMLコンポーネントによって描画され、ブール値・数値・日付との曖昧さが生じる場合は値を引用符で囲みます。
出力を貼り付ける前に知っておくべきYAMLのクセ
YAMLは表面上は寛容なことで有名ですが、内部には罠が満ちています。ダンパーはそのほとんどを扱いますが、それでもデータはラウンドトリップに耐えなければなりません。
ノルウェー問題とその仲間
YAML 1.1は、裸のno、yes、on、off、true、false、y、n(およびそれらの大文字形)をブール値として扱います。つまり、ノルウェーをNOとする国コードの列が、ひそかにfalseに変わりかねません。
| 元のセル | 出力(引用符なし) | 本来意図された意味 |
|---|---|---|
NO |
false |
国のノルウェー |
ON |
true |
州のオンタリオ |
123 |
123 |
数値またはID |
0100 |
64(8進数!) |
先頭ゼロのコード |
ダンパーは危険な値を自動で引用符で囲みますが、出力で型が誤って見える場合は、下流でYAML 1.2のパーサーに切り替えるか、気にする値を明示的に引用符で囲んでください。
フォーマットの選択
- 2スペースのインデント。 ほとんどのエディターで標準。
yamllintのようなリンターもこれを既定とします。 - インライン閾値4。 深くネストされた構造は4レベル目以下では1行で出力され、それより上では複数行に展開されます。より厳密なブロックが欲しければ下流で調整してください。
- アンカーとエイリアスは生成されません。 行が繰り返されても、各行は新しいマッピングです。
出力例
- name: Alice
age: 30
- name: Bob
age: 25
JSONよりYAMLを選ぶとき
- コメントや複数行の文字列が重要な、手で編集する設定。
- Kubernetesマニフェスト、CIパイプライン、Ansibleのプレイ。
- 機械と同じくらい人間がファイルを読むあらゆる文脈。
それ以外では、JSONのほうが厳密で解析も速いため、ワイヤーフォーマットや生成されるペイロードにはJSONを選んでください。
よくある質問
YAML 1.1は裸のNOをブール値として解釈します。コンバーターは危険な値を引用符で囲みますが、下流のパーサーがなお型を強制する場合は、出力を貼り付ける前に問題のセルを引用符で囲むか、それらをただの文字列として扱うYAML 1.2のパーサーに切り替えてください。
このコンバーターではできません。各行はフラットなマッピングになります。ネストされたYAMLには、YAMLライブラリを使う小さなスクリプトを組むか、まずJSONに変換してJSONエディターでその形を整えてください。
セルは、選んだ区切り文字を使ってstr_getcsvで解析されます。引用符付きの値は、本物のCSVパーサーと同じように、埋め込まれた区切り文字と引用符を保持します。
はい。貼り付けたCSVはサーバーに送信されます。解析とYAMLのシリアライズはサーバー側で実行され、CSVはYAML出力の生成にのみ使用され、保存されません。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
HTML フォーマッター
ブラウザ内で HTML を 2 または 4 スペースで整形します。HTML はアップロードも検証もされません。
カラーパレットジェネレーター
基準のHEXカラーから、モノクロマティック、類似色、補色、トライアド、テトラードのパレットを生成し、コピーしやすいCSS変数として書き出します。
変更ログジェネレーター
分類した項目から Keep a Changelog 形式の Markdown セクションを作成します。Added、Changed、Fixed、Removed の各カテゴリに項目を貼り付け、Markdown かプレーンテキストを選んで出力をコピーするだけです。
このツールは他の言語でも利用できます
- CSV → YAML 변환기 [KO]
- Chuyển đổi từ CSV sang YAML [VI]
- CSV-naar-YAML-converter [NL]
- CSV 转 YAML 转换器 [ZH]
- CSV zu YAML Konverter [DE]
- CSV to YAML Converter [EN]
- Konverter CSV ke YAML [ID]
- CSV-till-YAML-omvandlare [SV]
- Konwerter CSV na YAML [PL]
- تحويل CSV إلى YAML [AR]
- เครื่องแปลงข้อมูลจาก CSV เป็น YAML [TH]
- Convertidor de CSV a YAML [ES]
- Convertisseur CSV en YAML [FR]
- Conversor de CSV para YAML [PT]
- CSV'den YAML'a Dönüştürücü [TR]
- Convertitore da CSV a YAML [IT]
- Конвертер CSV в YAML [RU]