Markdown Table vs CSV の使い分けと相互変換(GitHub・Pandas・Excel)
Markdown CSV データ構造 ドキュメント
ドキュメント作成時の Markdown 表(パイプ | 表記)と CSV(カンマ区切り)の比較、用途に応じた選択基準、および自動変換コードです。
1. オンライン Markdown 表生成 & CSV 変換ツール
CSVの貼り付けやExcelからのコピペで Markdown 表を即座に作成・編集できます。
📝 この場でMarkdownのプレビューを確認する
入力
整形結果
整形内容
- 全角→半角: #→#、-→-、0-9→0-9、[]→[]、()→() など
- 見出し:
##ああ→## ああ - リスト:
-あ→- あ、1.あ→1. あ - 引用:
>引用→> 引用、さらに> 引用→さらに > 引用 - リストインデント: 行頭の全角スペースを半角2つに(ネスト認識のため)
- :::details:
:::detailsとタイトルの間にスペースを追加 - テーブル:
|a|b|→| a | b | - 脚注:
[^1]:内容→[^1]: 内容 - 水平線:
***/___→--- - Zenn画像:
→ - 保護(変更しない): コードブロック、数式($$/$...$)、
\*...\*・\[...\]、リンク・画像、:::message・:::details・:::note、<details>・<!-- -->・@[card]等 - 文中の#: 見出し行頭の#のみ半角化、文中の#は維持
対応サービス
以下のサービスで使用されるMarkdown記法に対応しています。他にも多くのサービス(GitHub、GitLab、HackMD、Obsidian など)で利用可能です。
Zenn ▼
対応記法:
- 見出し・リスト・番号リスト・引用・テーブル・脚注・区切り線
- 画像:
幅指定、キャプション*テキスト* - コード:
言語:ファイル名、diff js - 数式:
$$ブロック、$インライン(KaTeX) - 独自:
:::message/:::message alert/:::details(:::でネスト) - 埋め込み:
@[card]@[tweet]@[youtube]@[gist]@[codepen]他 - mermaid・絵文字
:emoji:・HTMLコメント<!-- -->
Qiita ▼
対応記法:
- GFM準拠 + 拡張。コード:
言語:ファイル名、diff_言語 :::note info/warn/alert<details><summary>折りたたみ- チェックボックス
- [ ]- [x]、説明リスト<dl> - 数式:
```mathまたは$`...`$ - PlantUML・Mermaid・絵文字・リンクカード(URL単独行)
- 参照リンク
[text][ref]、ページ内リンク#見出し
note ▼
対応記法:
- 見出し・引用・箇条書き・番号リスト・強調・コードブロック・取り消し・区切り線
- 見出しは h2・h3 のみ(h1 は h2 に変換)
- 強調:
**推奨(__は前後にスペース必要) - リスト:
-と*混在は非推奨
VSCode / GFM ▼
対応記法:
- 見出し・リスト・番号リスト・引用・リンク・画像・テーブル・水平線
- コード:
言語:ファイル名(例:c:main.c) - 斜体
*・太字**・打ち消し~~
※ Zenn・Qiita・note・HackMD・GitHub・GFM など各種Markdown記法に対応。
2. Markdown Table vs CSV 仕様比較表
| 比較項目 | Markdown Table (|) | CSV (Comma-Separated Values) |
|---|---|---|
| 主な用途 | GitHub README, Notion, Qiita, 社内ドキュメント | Excel, データベースインポート, Python (Pandas) |
| 可読性 (生テキスト) | 高い (視覚的に列が揃う) | 低い (長文やカンマ混在時に見づらい) |
| プログラミング処理 | 扱いづらい (パーサーが必要) | 極めて容易 (標準ライブラリでパース可能) |
| 改行・エスケープ | セル内改行は <br /> を使う必要あり | ダブルクォート " で囲めばセル内改行可能 |
| ファイルサイズ | パイプや余白スペース分大きい | 最小のデータサイズ |
3. 使い分けの判断基準
- Markdown Table を選ぶべきケース:
- GitHub / GitLab の
README.mdや PR の説明欄に表示したいとき。 - 10行×5列程度までの比較表や仕様一覧。
- GitHub / GitLab の
- CSV を選ぶべきケース:
- 100行を超える大容量データやログ。
- 今後 Excel や Google スプレッドシートでグラフ化・集計する可能性があるデータ。
4. Python で CSV を Markdown Table に変換するスクリプト
pandas を使うと1行で変換できます。
import pandas as pd
# CSV ファイルの読み込み
df = pd.read_csv('data.csv')
# Markdown 表として出力
markdown_table = df.to_markdown(index=False)
print(markdown_table)
// Node.js で CSV 文字列を簡易 Markdown 表に変換するコード
function csvToMarkdown(csvText) {
const lines = csvText.trim().split('\n');
const rows = lines.map(line => line.split(',').map(cell => cell.trim()));
if (rows.length === 0) return '';
const header = `| ${rows[0].join(' | ')} |`;
const separator = `| ${rows[0].map(() => '---').join(' | ')} |`;
const body = rows.slice(1).map(row => `| ${row.join(' | ')} |`).join('\n');
return `${header}\n${separator}\n${body}`;
}