Tablora

Tablora · ライブラリ

縦棒区切りのレコードを内容を変えずに読む

code|labelのように縦棒で項目を区切ったテキストを、マークダウンの表として扱ったり値の前後の空白を削ったりせずに読み取ります。

縦棒で項目を区切る場合

データベースのダンプ、ログの書き出し、一部の古いシステムでは、データ内にめったに現れないことから、縦棒 | を項目の区切りに使います。A1|Shelf twoのようなレコードは、ラベルに空白が含まれていても、2つの項目にきれいに分かれます。

検査ツールは、明示的な「区切り文字」として縦棒に対応しています。貼り付けた文字をそのまま正確に読み、縦棒の隣の空白を落とすことはなく、マークダウンの表のレイアウトの約束事も考慮しません。

code|labelを解析する

Shelf twoの例

このページの例は、見出しcode|labelとレコードA1|Shelf twoで、「区切り文字」は縦棒です。検査ツールは2行・2列と報告し、2行目2列目は内側の空白を保ったままShelf twoになります。変換された値も、空白を削られた値もありません。

仮にレコードが縦棒の前後に空白を入れて書かれていたら、1つ目のセルは空白で終わり、2つ目のセルは空白で始まります。検査ツールはその空白を残すので、データの一部かどうかは元データを見て判断してください。

マークダウンの表は別の形式

チャット、README、ウィキからコピーした表は縦棒区切りのテキストに見えることがよくありますが、同じものではありません。行はたいてい縦棒で始まって縦棒で終わるため、最初と最後に空のセルができます。位置をそろえるために値の前後に入れた空白も、セルの一部として残ります。|---|---|のようなダッシュでできた区切り線は、他と同じデータの行として読まれます。

そうした表を使う必要がある場合は、まずコピーで整えてください。外側の縦棒とダッシュの行を取り除き、位置合わせの空白が必要かどうかを決めます。それからもう一度確認し、セルに必要な文字だけが入っていることを確かめてください。

結果を書き出す

「ダウンロード (CSV)」は区切りにカンマを使って表を書き出し、カンマ、引用符、改行を含む値は引用符で囲みます。出力にも縦棒が必要なら、元のテキストを残しておいてください。ダウンロードされるのはカンマ区切りのファイルです。

入力値

表のテキスト
code|label A1|Shelf two
区切り文字
|

結果

行数
2
列数
2
codelabel
A1Shelf two
幅の異なる行
0