表の変換(CSV / TSV / Markdown / HTML / JSON)
テキスト処理はすべてブラウザ内で完結します。データは送信されません
区切りテキストを別の表記に変換します。Excel やデータベースから書き出した CSV、ターミナルのタブ区切り、ドキュメントの Markdown 表を貼り付けると、Markdown 表・ASCII 罫線表・HTML の table・JSON 配列・CSV に変換できます。区切り文字は自動判定(タブを優先)し、手動でも指定できます。引用符は RFC 4180 に沿って処理するため、「Smith, John」のようなカンマを含むフィールドが 2 列に割れることはありません。列幅は表示幅で計算するので、全角文字の列が 1 文字ずつずれていくこともありません。見出しのない表では「先頭行はデータ」にチェックを入れると、先頭行が見出しとして取り除かれることはありません。
機能
- 5 種類の出力:Markdown 表、ASCII 罫線表、HTML table、JSON 配列、CSV
- ASCII 出力は「整列(罫線あり)」と「コンパクト(罫線なし・列間隔だけで整列)」の 2 形態から選べます
- 区切り文字を自動判定(タブ・カンマ・縦線・空白)。手動指定も可能
- CSV の引用符と "" エスケープを RFC 4180 に沿って処理
- 見出しのない表に対応。先頭行が列名として取り除かれません
- Markdown 表をそのまま貼り戻せます。区切りの行は自動で読み飛ばします
- 列幅を表示幅で揃えるため、全角文字の列もずれません
- 列数が足りない行は、最も多い行に合わせて補います
- HTML 出力は & < > " をエスケープするので、そのままページに貼れます
- JSON 出力は先頭のゼロを保持(007 は文字列のまま。数値の 7 にはなりません)
使い方
- CSV・TSV・Markdown 表を貼り付けます。既定では先頭行が見出しです
- 出力形式を選ぶと、結果はその場で更新されます
- 見出しのない表では「先頭行はデータ(見出しではない)」にチェックを入れます
- 区切り文字の判定が違う場合は、手動で指定してください
- 結果をコピーします。JSON と HTML は自動で色分けされます
よくある質問
- JSON 出力で数値に引用符が付くのはなぜですか?
- 表のセルはすべてテキストであり、テキストの形を保つ必要がある値があるためです。たとえば社員番号の 007 は数値として扱った瞬間に 7 になります。郵便番号やマイナンバーも同じ問題を抱えています。そのため値は常に文字列で出力します。数値が必要な場合はコード側で変換してください。
- Excel や Google スプレッドシートからコピーすると何区切りになりますか?
- タブ区切りです。そのため自動判定ではタブを最優先にしています。表計算ソフトからコピーした内容では、カンマはデータの中にほぼ必ず現れます(住所や金額の桁区切り)が、タブは現れません。
- 見出しに同じ列名が 2 つある場合はどうなりますか?
- Markdown・ASCII・HTML は同じ名前の列を表現できるため、そのまま出力します。JSON だけは不可能です。オブジェクトは同じ名前のキーを 2 つ持てず、片方を黙って捨てると、揃っているように見えて 1 列欠けたデータを渡すことになります。そのためこの場合は明確にエラーとし、列名の変更を求めます。
- 見出しがなく、先頭行がデータの場合はどうすればよいですか?
- 「先頭行はデータ(見出しではない)」にチェックを入れてください。チェックしないと先頭行は列名として扱われ、データから 1 行消えます。しかも「列名」はそれらしく見えるため、気づきにくいまま進んでしまいます。形式ごとの扱いは次のとおりです。CSV は見出し行を出力しません。JSON は配列の配列になります(列名がなければキーもなく、「列1」のような名前を勝手に作るとデータに存在しない内容を書き加えることになります)。ASCII 罫線表と HTML は見出しの行・thead を省きます。Markdown は文法上どうしても見出し行が必要なため、空の見出しセルになります。
- データは送信されますか?
- いいえ。変換はブラウザ内で完結し、ページはリクエストを送りません。表のデータは顧客名簿や社内レポートであることが多く、それらが端末から出ることはありません。
- 「コンパクト」形態は何のためですか?
- 等幅の表組みが美化されない場所に貼るためです:コードのコメント、プレーンテキストのファイル、ターミナルのメモなど。そこでは `+---+` の罫線がかえって邪魔で、2 文字分の列間隔で十分に揃います。列幅の計算はどちらの形態も同じ(表示幅基準)なので、全角文字もずれません。
関連ツール
Markdown プレビュー
テキスト左に Markdown を書くと右にリアルタイム描画。見出しにはアンカーと目次が付き、コードブロックは色分けしてコピーできます。貼り付けた HTML は文字のまま。
テキスト整形
テキストログや表からコピーした1列を整形します。重複行の削除、並べ替え、空行・前後の空白・行番号の削除、空白のまとめを個別に切り替えできます。
文字数カウント
テキスト英語は単語数、日本語や中国語は字数で別々に数えます。文字数・行数・バイト数・読了時間も同時に出し、すべてブラウザ内で処理するので送信しません。
テキスト差分
テキスト2つのテキストを行ごとに比較し、追加・削除・未変更の行をハイライト表示します。変更は最小差分で整列し、すべてブラウザ内で処理します。
命名規則の変換
テキスト14 の命名規則の間で識別子を変換します。fooBarBaz や FOO_BAR のような混在も語に分解し、連続する大文字も語ごとに切ります。
簡体字・繁体字変換
テキスト中国語を簡体字と繁体字の間で相互変換します。常用語は語単位で置換し、残りは最も一般的な字形を採るため、一部は人の確認が必要です。