DevToy

Markdown 表格

將 CSV 轉成 Markdown 表格,且不破壞帶引號的資料

一套可落地的 CSV 轉 Markdown 流程,處理帶引號的逗號、跳脫引號、對齊方式,以及在目標平台上的驗證。

發佈於 2026年7月11日 · 更新於 2026年7月11日

CSV 看起來很簡單,直到某個值裡出現分隔符。直接把每一行按逗號切開,在 Alice,Active,10 這種資料上能工作,但一旦單元格裡出現 "Keyboard, compact""1,999.00" 就會失效。可靠的轉換必須先解析 CSV 記錄,再生成 Markdown。

先確保 CSV 本身有效

CSV 解析器會把引號欄位中的分隔符視為文字。引號欄位中的雙引號通常以兩個雙引號表示。例如:

Product,Description,Price
Keyboard,"Compact, wireless","$89.00"
Monitor,"27"" IPS display","$299.00"

第二筆記錄只有三個單元格,不是五個。轉換大型檔案前,先確認分隔符與字元編碼。試算表匯出的內容可能是逗號、定位字元或分號,取決於地區設定。如果單元格裡常出現逗號,而且匯出格式你可以控制,優先使用 TSV。

將解析後的網格轉成 Markdown

Markdown 表格需要表頭和分隔列。上面的記錄會變成:

| Product | Description | Price |
| :--- | :--- | ---: |
| Keyboard | Compact, wireless | $89.00 |
| Monitor | 27" IPS display | $299.00 |

說明文字與識別符通常左對齊,緊湊的狀態值可以置中,數值類欄位通常右對齊,方便讀者橫向比較。對齊只是展示元資料,不會把字串變成數值。

跳脫 Markdown 專用字元

CSV 的引號規則和 Markdown 的跳脫規則處理的是不同問題。解析後的單元格裡如果有字面量 |,在生成 Markdown 之前必須轉成 \|,否則它會被當成下一欄的邊界。大多數 Markdown 表格渲染器也不支援單元格裡真正的換行。可以把換行替換成空格,或者在目標平台允許 inline HTML 時使用 <br>

不要機械地刪掉所有引號。解析器只應移除用來包住欄位的引號,並把雙引號還原成字面量引號。未加引號的值裡本來就存在的引號應該保留。

在目標平台驗證

GitHub、GitLab、文件生成器和筆記工具並不完全實作同一種 Markdown 規則。把一小段樣例貼到最終平台裡,確認欄數、直線、HTML 和 Unicode 都正常,再去轉換上千行資料。

對於敏感資料,可以直接使用 可視化 Markdown 表格產生器。解析和轉換都在瀏覽器內完成,表格內容不需要上傳到轉換 API。

相關指南