SKILL.md
CSV 转 Markdown 表格工具#
本技能是一个纯本地、离线的 CSV 转换工具:
- 能做什么:把 CSV/TSV 文本转换成标准 Markdown 表格;正确处理双引号包裹的字段、字段内的分隔符与换行、
""转义引号;支持自定义分隔符、列对齐、无表头文件; - 带不带脚本:带一个 PowerShell 脚本
scripts/Convert-CsvToMarkdown.ps1,不依赖任何第三方模块; - 联不联网:不联网,不发起任何网络请求;
- 写不写文件:默认把 Markdown 输出到屏幕;只有显式传入
-OutFile时才写入文件。
适用场景#
- 把导出的 CSV 数据快速贴进 Markdown 文档、Wiki、Issue;
- 处理含引号、逗号、换行的复杂 CSV(如备注列、地址列);
- 制表符分隔(TSV)或分号分隔等非标准分隔文件的转换。
使用方法#
# 基本转换,输出到屏幕
.\scripts\Convert-CsvToMarkdown.ps1 -InputFile .\data.csv
# 写入 Markdown 文件
.\scripts\Convert-CsvToMarkdown.ps1 -InputFile .\data.csv -OutFile .\table.md
# TSV(制表符分隔),表头居中对齐
.\scripts\Convert-CsvToMarkdown.ps1 -InputFile .\data.tsv -Delimiter "`t" -Alignment center
# 分号分隔,无表头(自动生成 Column1、Column2……)
.\scripts\Convert-CsvToMarkdown.ps1 -InputFile .\data.csv -Delimiter ';' -NoHeader
参数说明#
| 参数 | 说明 | 默认值 |
|---|---|---|
-InputFile | 输入 CSV 文件路径(必填) | 空 |
-Delimiter | 字段分隔符,可传逗号、制表符、分号等单字符 | , |
-Alignment | 列对齐方式:left / center / right / none | left |
-NoHeader | 第一行视为数据,自动生成 Column1、Column2 表头 | 关闭 |
-OutFile | 结果写入指定文件(UTF-8 无 BOM);不传则只输出到屏幕 | 空 |
-KeepWhitespace | 保留字段首尾空白,默认会去除 | 关闭 |
处理规则#
- 双引号内的分隔符与换行属于字段内容;连续两个引号
""解析为一个字面引号; - 字段中的管道符
|自动转义为\|,字段内换行替换为空格,避免破坏 Markdown 表格; - 各行字段数不一致时,以最大列数为准用空单元格补齐,并给出警告;
- 输出的对齐分隔行:左对齐
:---、居中:---:、右对齐---:、无对齐---。
注意事项#
输入文件建议为 UTF-8 编码;含中文的非 UTF-8 文件请先转换编码,避免乱码。
用途与依赖
作者没写,这些是平台读文件后整理的,以文件为准。
使用示例
请求:把这个 data.csv 转成 Markdown 表格,表头居中,结果写到 table.md
预期
运行 scripts/Convert-CsvToMarkdown.ps1 -InputFile .\data.csv -Alignment center -OutFile .\table.md,解析 CSV 后生成带 :---: 对齐分隔行的 Markdown 表格,以 UTF-8 无 BOM 写入 table.md,并提示已写入的行数与文件路径。
- 适用场景
- 把导出的 CSV 数据快速贴进 Markdown 文档、Wiki 或 Issue
- 处理含引号、逗号、换行的复杂 CSV(如备注列、地址列)
- 把制表符分隔的 TSV 文件转成 Markdown 表格
- 把分号等非标准分隔符的文件转成 Markdown 表格
- 转换没有表头的 CSV,自动生成 Column1、Column2 等列名
- 把转换结果直接保存为 .md 文件
- 输入
- 输入 CSV/TSV 文件路径(必填)
- 字段分隔符(可选,默认逗号)
- 列对齐方式 left/center/right/none(可选,默认 left)
- 是否无表头(可选)
- 输出文件路径(可选,不传则只输出到屏幕)
- 是否保留字段首尾空白(可选,默认去除)
- 输出
- Markdown 表格文本(输出到屏幕)
- 写入指定路径的 Markdown 文件(UTF-8 无 BOM)
- 字段数不足行的补齐警告
- 写入文件时的行数与路径提示
- 运行环境
- PowerShell 5.1 及以上
- 依赖
- 无

