TSVとCSVの編集


 TSV(タブ区切り)やCSV(コンマ区切り)のテキストは、もちろん普通に 編集できますが、そのままでは各フィールドの桁が揃っていないので、 不便な場合が多々あります。 しかし、ここで説明する方法を使うと、各フィールドの桁を揃えて表示できるので、 見やすくなるだけでなく、特定のフィールドを選択して何かの操作を行なう時などに 非常に便利です。

 本機能は、基本的に、各タブの桁間隔を個別に設定できる機能を利用しています。 そのため、表計算ソフトのような多彩な装備はありませんが、 テキストのサイズが大きくても、動作は比較的軽快です。

■ TSV(タブ区切り)テキストの編集

 TSV(タブ区切り)テキストは、通常では、例えば、以下のように、各フィールドの桁が 不揃いのまま表示されます。(タブは、 という記号で示しています。)

原子番号  日本語名  英語名元素記号  周期原子量
1 水素  Hydrogen  H 1 1 1.00794
2 ヘリウム  HeliumHe1 184.002602
3 リチウム  Lithium   Li2 1 6.941
4 ベリリウムBeryllium Be2 2 9.012182
5 ホウ素Boron B 2 1310.811
6 炭素  CarbonC 2 1412.0107
7 窒素  Nitrogen  N 2 1514.0067
8 酸素  OxygenO 2 1615.9994
 ここで、「各タブ幅を調整」を実行すると、各タブの桁間隔が個別に調整されて、 以下のように、各フィールドの桁が揃った見やすい表示になります。
原子番号日本語名  英語名   元素記号周期原子量
1       水素      Hydrogen H       1   1 1.00794
2       ヘリウム  Helium   He      1   184.002602
3       リチウム  Lithium  Li      2   1 6.941
4       ベリリウムBerylliumBe      2   2 9.012182
5       ホウ素    Boron    B       2   1310.811
6       炭素      Carbon   C       2   1412.0107
7       窒素      Nitrogen N       2   1514.0067
8       酸素      Oxygen   O       2   1615.9994
 この「各タブ幅を調整」コマンドは、初期環境では、メインメニューの「設定」下にあります。

●フィールドの操作

 上記のように、各フィールドの桁が揃っていると、任意のフィールド範囲を矩形選択できるので、 それに対して、各種の操作が行なえます。 例えば、以下では、元素記号のフィールドを矩形選択して、その範囲内にある半角文字を すべて全角文字に変換しています。

原子番号日本語名  英語名   元素記号周期原子量
1       水素      Hydrogen H       1   1 1.00794
2       ヘリウム  Helium   He      1   184.002602
3       リチウム  Lithium  Li      2   1 6.941
4       ベリリウムBerylliumBe      2   2 9.012182
5       ホウ素    Boron    B       2   1310.811
6       炭素      Carbon   C       2   1412.0107
7       窒素      Nitrogen N       2   1514.0067
8       酸素      Oxygen   O       2   1615.9994
     半角を全角に変換
原子番号日本語名  英語名   元素記号周期原子量
1       水素      Hydrogen       1   1 1.00794
2       ヘリウム  Helium   He    1   184.002602
3       リチウム  Lithium  Li    2   1 6.941
4       ベリリウムBerylliumBe    2   2 9.012182
5       ホウ素    Boron          2   1310.811
6       炭素      Carbon         2   1412.0107
7       窒素      Nitrogen       2   1514.0067
8       酸素      Oxygen         2   1615.9994
 このほかにも、英字大小変換、ひらかな⇔カタカナ変換、数値の総合計など、 いろいろな操作が行なえます。

●行のソート(並べ替え)

 特定のフィールドをキーとして、各行をソートする(並べ替える)こともできます。 それには、まず、その範囲のフィールドを矩形選択します。 次に、「行を並替(桁範囲比較)」というスクリプト(SortBySelClm.mc)を実行します。 例えば、以下は、英語名のフィールドをキーとして、その昇順に、各行を並べ替えています。

原子番号日本語名  英語名   元素記号周期原子量
1       水素      Hydrogen H       1   1 1.00794
2       ヘリウム  Helium   He      1   184.002602
3       リチウム  Lithium  Li      2   1 6.941
4       ベリリウムBerylliumBe      2   2 9.012182
5       ホウ素    Boron    B       2   1310.811
6       炭素      Carbon   C       2   1412.0107
7       窒素      Nitrogen N       2   1514.0067
8       酸素      Oxygen   O       2   1615.9994
     「行を並替(桁範囲比較)」を実行
原子番号日本語名  英語名   元素記号周期原子量
4       ベリリウムBerylliumBe      2   2 9.012182
5       ホウ素    Boron    B       2   1310.811
6       炭素      Carbon   C       2   1412.0107
2       ヘリウム  Helium   He      1   184.002602
1       水素      Hydrogen H       1   1 1.00794
3       リチウム  Lithium  Li      2   1 6.941
7       窒素      Nitrogen N       2   1514.0067
8       酸素      Oxygen   O       2   1615.9994
 このスクリプトのコマンドオプションには、次のものがあります。(下記の / は - でも構いません)
  /r  降順(デフォールトは、昇順)
  /n  各選択部を数値として比較(デフォールトは、文字列)
  /i  英字大小同一視(デフォールトは、区別)
例えば、上例で、原子量の降順にソートするには、原子量のフィールドの各数値を矩形選択して、 次のコマンドを実行します。
   SortBySelClm.mc /r /n

■ CSV(コンマ区切り)テキストの編集

 CSV(コンマ区切り)テキストは、通常では、例えば、以下のように表示されます。

原子番号,日本語名,英語名,元素記号,周期,族,原子量
1,水素,Hydrogen,H,1,1,1.00794
2,ヘリウム,Helium,He,1,18,4.002602
3,リチウム,Lithium,Li,2,1,6.941
4,ベリリウム,Beryllium,Be,2,2,9.012182
5,ホウ素,Boron,B,2,13,10.811
6,炭素,Carbon,C,2,14,12.0107
7,窒素,Nitrogen,N,2,15,14.0067
8,酸素,Oxygen,O,2,16,15.9994
 ここで、「CSV→TSV変換」を実行すると、各区切りのコンマが全てタブに変換されて、 各フィールドの項目の桁が揃うように各タブの桁間隔が個別に調整されます。 すると、表示は、以下のように見やすくなります。
原子番号日本語名  英語名   元素記号周期原子量
1       水素      Hydrogen H       1   1 1.00794
2       ヘリウム  Helium   He      1   184.002602
3       リチウム  Lithium  Li      2   1 6.941
4       ベリリウムBerylliumBe      2   2 9.012182
5       ホウ素    Boron    B       2   1310.811
6       炭素      Carbon   C       2   1412.0107
7       窒素      Nitrogen N       2   1514.0067
8       酸素      Oxygen   O       2   1615.9994
 この「CSV→TSV変換」コマンドは、初期環境では、メインメニューの「設定」下に あります。
 さて、このコマンドの実行後は、内部的にも、コンマがタブに変換されているので、CSVファイルとして保存する際には、「TSV→CSV変換」をしておく必要があります。

●TSV→CSV変換

 「TSV→CSV変換」を行なうと、現編集テキスト内のタブコードが全てコンマに変換されます。 その際、各タブ間隔、タブの特殊記号表示、タブ桁と折り返し桁の縦罫線表示、の各設定は、 環境設定の状態に戻ります。なお、この「TSV→CSV変換」コマンドは、初期環境では、 メインメニューの「設定」下にあります。

■ 任意文字区切りテキストの編集

 区切り文字が、タブやコンマ以外の場合、その区切り文字を全てタブに変換しておく 必要があります。そうすれば、「各タブ幅を調整」の実行で、各フィールドの桁を 揃えることができます。以下の例は、区切り文字が、:(コロン)の場合です。

原子番号:日本語名:英語名:元素記号:周期:族:原子量
1:水素:Hydrogen:H:1:1:1.00794
2:ヘリウム:Helium:He:1:18:4.002602
3:リチウム:Lithium:Li:2:1:6.941
4:ベリリウム:Beryllium:Be:2:2:9.012182
     区切りのコロンを全てタブに変換
原子番号  日本語名  英語名元素記号  周期原子量
1 水素  Hydrogen  H 1 1 1.00794
2 ヘリウム  HeliumHe1 184.002602
3 リチウム  Lithium   Li2 1 6.941
4 ベリリウムBeryllium Be2 2 9.012182
    「各タブ幅を調整」を実行
原子番号日本語名  英語名   元素記号周期原子量
1       水素      Hydrogen H       1   1 1.00794
2       ヘリウム  Helium   He      1   184.002602
3       リチウム  Lithium  Li      2   1 6.941
4       ベリリウムBerylliumBe      2   2 9.012182
 なお、ファイルに保存する際には、タブを元の区切り文字に変換しておく必要があります。

■ 補足説明