CSVからテキスト列へ変換

MarkdownやHTML、スプレッドシートを使わずに、読みやすい列形式でデータを並べたいことがあります。たとえばREADME内のコードブロック、ターミナル向けのレポート、運用チーム宛のプレーンテキストメールなどです。このコンバーターはCSV(またはタブ・セミコロン・パイプ区切り)を読み取り、各セルをその列で最も幅の広いセルに合わせてスペースで埋めた列を生成します。結果はモノスペースフォントで表示するときれいに揃います。

列の配置方法

  1. 1

    データを貼り付けてください

    一般的なフラットファイルの区切り文字はすべて使用可能です:カンマ、タブ、セミコロン、またはパイプ。

  2. 2

    区切り文字を選択してください

    このツールは`str_getcsv`で囲まれたセルを解析するため、引用符内の埋め込み区切りも適切に認識されます。

  3. 3

    列の幅が測定されました

    各列について、コンバーターはすべての行の中で最も幅の大きいセルを特定し、それを目標幅として保存します。

  4. 4

    セルにスペースを配置しています

    各セルは列幅に合わせて右側にパディングされており、列同士は2つのスペースで接続されています。

この出力においてモノスペースが重要な理由

スペースによる位置揃えは、すべての文字が同じ幅である場合にのみ機能します。プロポーショナルフォント(Helvetica、Arial、ブログ本文のフォントなど)では、iMよりも横方向のスペースを取らないため、すべてのセルに同じ数のスペース文字が入っていても列がずれて見えてしまいます。

正しく表示される場所

  • Markdownのコードブロック(
  • <pre>および<code>のHTML要素
  • ターミナル出力、ログファイル
  • モノスペースに設定したリッチテキスト欄(多くのIDE、Giteaのissue本文など)

崩れて表示される場所

  • ブログ記事内の通常の段落
  • Gmailやほとんどのメールクライアント(既定でプロポーショナルフォントを使用)
  • バッククォートの外にあるSlackメッセージ
  • Notionのプレーンテキストブロック

読みやすい文章向けの代替手段

目的の出力 使うツール
ウェブページ CSV から HTML テーブルへ
GitHub README CSV から Markdown へ変換
スプレッドシート CSV から Excel へ
API ペイロード CSV から JSON へ

ヒント

  • 短いセルほど扱いやすい。 非常に長い値があると、その列が極端に幅広になります。長いテキストは先に切り詰めるか、出力を1行ずつ後処理して折り返してください。
  • タブ揃えは別物です。 スプレッドシートに貼り付けるために\t区切りの出力が欲しい場合は、このツールではなく通常のTSVエクスポートを使ってください。どのみちスプレッドシート上では位置揃えが崩れます。
  • 全角のUnicode文字は数え方が異なります。 このコンバーターはコードポイントを数えるmb_strlenで幅を測ります。全角のCJK文字は技術的にはその文字数よりも広く、一部のターミナルでは見た目がずれることがあります。

よくある質問

このツールはセルにスペース文字を配置します。比例フォントでは、iMよりも水平方向のスペースを少なめに占めるため、スペースの数が正しい場合でもピクセルが一致しません。コードブロック内でのレンダリングを行うか、フォントをモノスペースに設定してください。

直接ではないが、このツールは二重スペースを区切りとして使用します。パイプで区切られた整列ビューの場合は、二重スペースを|に置き換えることで後処理を行ったり、GFM形式のテーブルにはCSVからMarkdownへの変換ツールを使用したりできます。

欠落したセルはスペースで列幅に合わせて埋め込まれるため、出力結果は矩形の形を保ち、整然と配置されます。

はい。列を揃えるため、貼り付けたテキストはサーバーへ送信されます。保存はされず、ページのリンクにも追加されません。

関連ツール