CSV 转 YAML 转换器
YAML 正是现代配置文件的构成方式:Kubernetes 清单文件、GitHub Actions 工作流、Docker Compose、Ansible playbook 以及 Rails fixtures。该转换器读取 CSV 并生成一段 YAML 序列,其中每一行都成为以表头行为键的映射。输出采用双空格缩进和第 4 级内联阈值,与大多数编辑器和代码检查工具的风格一致。
CSV如何成为 YAML
-
1
粘贴 CSV 文件
样本已预先加载,以便您查看默认输出形状;可将其替换为您的数据。
-
2
选择分隔符
默认使用逗号分隔。如需使用制表符分隔的输入内容,请输入 `\t`;或使用文件中使用的其他任意单个字符。
-
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(八进制!) |
以零开头的代码 |
转储工具会自动为有风险的值加上引号,但若输出结果中出现错误的类型,请在下游改用 YAML 1.2 解析器,或明确地为你在意的值加上引号。
格式选择
- 双空格缩进。 多数编辑器的标准做法;
yamllint等代码检查工具也默认采用此格式。 - 内联阈值 4。 深度嵌套的结构在第 4 级以下会输出为一行,超过该层级则展开为多行。如需更严格的分块,请在下游调整。
- 不会生成锚点和别名。 即使各行重复,每一行也都是全新的映射。
示例输出
- name: Alice
age: 30
- name: Bob
age: 25
何时选择 YAML 而非 JSON
- 手动编辑的配置文件,其中注释和多行字符串很重要。
- Kubernetes 清单文件、CI 流水线以及 Ansible playbook。
- 任何人们会像机器一样去阅读该文件的场景。
除此之外,JSON 更严格、解析更快,处理传输格式和自动生成的载荷时应优先选用 JSON。
常见问题
YAML 1.1 会把裸写的 NO 视为布尔值。转换器会为有风险的值加上引号,但若下游解析器仍强制推断类型,请在粘贴输出前为有问题的单元格加上引号,或改用把这些值当作普通字符串处理的 YAML 1.2 解析器。
使用此转换器则不行,每行数据都会变成平面映射。对于嵌套 YAML ,可围绕 YAML 库编写小型脚本,或先将其转换为 JSON 格式再在 JSON 编辑器中进行调整。
单元格会使用您选择的分隔符,通过 str_getcsv 进行解析。加引号的值会像真正的 CSV 解析器那样,保留其中嵌入的分隔符和引号。
会。您粘贴的CSV会发送到我们的服务器,因为解析和YAML序列化都在服务器上完成。数据仅用于生成YAML输出,不会被存储。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
电话号码验证器
根据各国号码规划检查结构,并显示地区、类型以及E.164、国际、国内和RFC 3966格式。
变更日志生成器
根据分类条目生成 Keep a Changelog 风格的 Markdown 部分。将条目粘贴到 Added、Changed、Fixed 和 Removed 下,选择 Markdown 或纯文本,然后复制输出。
cURL 命令生成器
根据 HTTP URL、请求头、认证、JSON、原始数据或表单字段,在浏览器中私密生成适用于 POSIX Shell 或 PowerShell 的 cURL 命令。
此工具还提供其他语言版本
- CSV → YAML 변환기 [KO]
- Chuyển đổi từ CSV sang YAML [VI]
- CSV-naar-YAML-converter [NL]
- 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→YAMLコンバーター [JA]
- CSV'den YAML'a Dönüştürücü [TR]
- Convertitore da CSV a YAML [IT]
- Конвертер CSV в YAML [RU]