跳到主要内容

Markdown 表格转 CSV:把文档里的表搬进 Excel

教你把 README 和文档里的 Markdown 管道表格转成能直接导入 Excel 的 CSV,讲清去掉竖线分隔行、含逗号字段加引号、转义竖线还原这几个容易出错的细节。

发布于 作者 李雷
#markdown #csv #数据转换 #excel

Markdown 表格转 CSV:把文档里的表搬进 Excel

写文档时,Markdown 管道表格用着顺手:| 字段 | 值 | 一敲,GitHub、语雀、各种 wiki 都能渲染成整齐的表。可一旦你想把这些数据排序、做透视、画个图,问题就来了:表格软件读不懂竖线和虚线。手抄一遍单元格,既慢又容易抄错。这篇讲清楚 Markdown 表格转成 CSV 时到底要处理哪几件事,以及怎么一步到位。

为什么不能直接复制粘贴

你可能试过把 Markdown 表整段贴进 Excel,结果整张表挤进了一个单元格,或者每行变成一长串带竖线的文本。原因很简单:Excel 认的是逗号(或分号、Tab)分列,它不认 |,更不认那行 |---| 对齐标记。

真正要做的转换有三步:按竖线切出每个单元格,删掉对齐分隔行,再用表格软件认得的分隔符重新拼起来。听起来不难,但中间藏着几个坑,凑合写的转换器经常踩。

第一个细节:去掉竖线和对齐分隔行

一张标准的 Markdown 表是这样的:

| 姓名 | 城市 | 备注 |
| --- | --- | --- |
| 张伟 | 北京 | 早班 |
| 李娜 | 上海 | 晚班 |

第二行 | --- | --- | --- | 是 GitHub 风格的对齐标记,告诉渲染器列怎么对齐。它不是数据,转 CSV 时必须删掉。| :--: |(居中)、| --: |(右对齐)也是同一类。靠谱的做法是:凡是单元格只由短横和可选冒号组成的整行,一律识别为分隔行并丢弃。

切单元格时,首尾那两根可有可无的竖线也要剥掉,否则每行开头会多出一个空字段。处理完上面这张表,应该得到 3 行 CSV:表头加两行数据,绝不会多出一行虚线。

第二个细节:转义竖线要还原

Markdown 里如果单元格内容本身含竖线,得写成转义形式 \|。比如一行接口文档:

| 路由 | 限流 |
| --- | --- |
| /v1 \| /v2 | 1,000 次/分 |

这里 /v1 \| /v2 是一个单元格,意思是这两个路由共用一档限流。见竖线就切的笨办法会把它劈成两列,后面整行跟着错位。正确做法是只在没转义的竖线处切分,切完再把 \| 还原成一个普通 |,这一格保持一列,内容是 /v1 | /v2

第三个细节:含逗号的字段加引号

上面那行还有个坑:1,000 次/分 里有个逗号。如果分隔符也是逗号,直接写出去就会被读成两列。CSV 的标准 RFC 4180 对这事有明确规定:单元格里含分隔符、双引号或换行时,整个字段用双引号包起来,内部的双引号翻倍。所以 说了 "好" 要写成 "说了 ""好"""。这正是 Excel 和 pandas 期望的格式,读回来列数不会错。

一个完整的转换例子

把这张表:

| 姓名 | 城市 | 备注 |
| --- | --- | --- |
| 张伟 | 北京, 海淀 | 早班 |
| 李娜 | 上海 | 说了 "辛苦" |

转出来的 CSV 是:

姓名,城市,备注
张伟,"北京, 海淀",早班
李娜,上海,"说了 ""辛苦"""

注意 北京, 海淀 因为含逗号被加了引号,说了 "辛苦" 因为含双引号被包起来且内部引号翻了倍,而不含特殊字符的单元格保持原样。这份文件双击就能在 Excel 里正确分成三列。

我自己常用的几个开关

我整理团队接口文档时,经常一份文档里好几张表。markdown-table-to-csv 默认只转找到的第一张,但打开"转换全部表格"后它会把每张表都转出来,各段 CSV 之间空一行隔开,中间的正文自动跳过。

分隔符我一般留逗号,但发给用本地化 Excel 的同事时会切到分号。很多欧洲或本地化的 Excel 默认按分号分列,逗号 CSV 双击进去就挤成一格。切到分号,列就自动对齐,不用再走文本导入向导。下载的文件带 UTF-8 字节序标记,中文姓名和带重音的名字双击打开都不乱码。

反过来和接着往下

有时我需要反向操作:从表格软件里整理好数据,再贴回文档。这时用 CSV 转 Markdown 表格 就行,把 CSV 还原成对齐的管道表贴回 README。如果手头根本没有现成数据,只想快速搭一张表,Markdown 表格生成器 可以填几个格子直接出表。

拿到 CSV 之后要喂给程序,常常还得再转一道。这张表的转换全程在浏览器本地跑,粘进来的内容不上传、不写进分享链接,因为文档表格里常带内部数字、邮箱或工单信息,这点对处理工作数据时挺重要。要现在就试,直接打开 Markdown 表格转 CSV 把你的表粘进去。


Made by Toolora · Updated 2026-06-13