Excel」でそのまま扱っているというユーザーは少なくないだろう。「Excel」をインストールすると拡張子“*.csv”に関連付けられるし、「Excel」自体高機能ではあるので、“これでいいじゃないか”と思うのも無理からぬことだ。「Excel」はあくまでも表“計算”ソフトだ。入力されたテキストデータをなるべく数値や日付として解釈し、“計算”できるように試みる。その結果、以下のような問題が発生することがある。先頭の“0”が消える(電話番号から最初の“0”が消える)桁数の多い数字が“E+”(指数表記)で表示される括弧付きの数がマイナスの数になる(米国の財務諸表ではマイナスの数値を括弧で括って表記するため)住所の一部が日付に変換される(“1-2-3”→“2001/2/3”)分数が勝手に約分される(“販売実績/在庫数”という意味で“2/10”と記録しておいたものが、勝手に“1/5”と約分される)このようなお節介をするのも、「Excel」が表“計算”ソフトであるが故だ。手順を踏んでインポートすればトラブルを避けることができるが、“計算”を必要としないテキストテーブルであれば、テキストの処理に長けたソフトで扱うのがよりよい選択といえるだろう。Professional」だ。「EmEditor」は基本的にテキストエディターだが、このようなテキストテーブルデータを扱うために設計された“CSVモード”も備わっている。テキストエディターであるため、テキストの検索や置換といった操作は得意中の得意だ。「Excel」でお馴染みのフィルタリング、オートフィル、フラッシュフィルといった操作も可能。コントローラー”でGB単位のファイルも省メモリでサクサクと閲覧・編集できるのもうれしいポイントといえるだろう。サイズの大きな顧客名簿や商品データ、ログファイルを扱う機会が多い場合は、軽量でテキスト編集に長けた「EmEditor」の方が有利な局面が多い。そこで本稿では「EmEditor」の“CSVモード”の使い方を紹介する。実践的な例を挙げながら、基礎から応用までを一通り解説するので、お役に立てば幸いだ。「Excel」の代替として十分、むしろそれ以上に有用なのがおわかりいただけるだろう。基本1:「EmEditor」をCSVモードにして新規にテーブル(表)を作成するそれではまず、「EmEditor」をCSVモードにして新規にテーブルを作成する方法を学んでいこう。「EmEditor」の初期設定はテキストを編集するための“通常モード”になっている。CSVモードを利用するには、まず[表示]-[CSV]メニューや[CSV/並び替え]ツールバーのボタンで“CSVモード”へ切り替える。[CSV/並び替え]ツールバーのボタンで“CSVモード”へ切り替えちなみに、「EmEditor」では、以下のCSVフォーマットが標準でサポートされている。カンマ区切り:行を改行で、列をカンマ(,)で区切る方式。values(DSV)”と呼ぶこともあるタブ区切り:行を改行で、列をタブ(¥t)で区切る方式。values)”と呼ばれるユーザー定義区切り:列を区切る文字をユーザーで定義する。初期状態はセミコロン“;”が指定されているが、スペース(¥s)や“|”といった文字も区切り文字として利用できるなお、区切り文字などの設定は[ツール]-[カスタマイズ]ダイアログの[CSV]セクションでカスタマイズすることが可能。CSVフォーマットの定義は8種類まで、区切り文字は39文字まで指定できる。このように「EmEditor」では多種多彩なCSVフォーマットを扱えるが、本稿では基本的にカンマ区切りのみを扱う。[CSV/並び替え]ツールバーのボタンで“CSVモード”へ切り替えさて、「EmEditor」を“CSVモード”へ切り替えると、編集画面に1×1マスのセルが現れる。エディターの適当な部分をダブルクリックすれば、列や行を拡張できる。行番号(初期設定で非表示)や列ヘッダーをクリックすれば、行や列全体を選択可能。右クリックメニューで行や列を追加したり、削除することができる。テーブル全体を選択したい場合は、行番号と列ヘッダーが交差する左上のエリアをクリックすればよい。「EmEditor」を“CSVモード”へ切り替え。初期設定では“セル選択モード”(後述)も同時に有効化されるまた、初期設定では“セル選択モード”も同時に有効化されるが、これは編集画面における選択対象をテキスト単位からセル単位へと切り替える機能だ。選択された“セル”が緑色にハイライトされ、キーボードの矢印キーで上下左右に選択の移動が可能となる。区切り文字も非表示になるため、誤って区切り文字を消すなどしてデータ構造を破壊してしまうことも防止できる。“CSVモード”+“セル選択モード”で「Excel」風の操作が可能に選択したセルの内容を編集したい場合は[F2]キー、内容を確定したい場合は[Enter]キーが利用できるのも「Excel」と同じだ。選択したセルや行、列の枠をつかんでドラッグ&ドロップしたり、行ヘッダーのカラム境界をドラッグしてセルの幅を調整することもできる。[フィルター]ツールバーの[列/セパレーター]-[区切り位置を調節]コマンドを利用すれば、列の幅を自動で調節するのも簡単だ。選択したセルや行、列の枠をつかんでドラッグ“CSVモード”と“セル選択モード”の関係は少し難しいかもしれないが、エディターの“表示”を「Excel」風にするのが“CSVモード”で、“操作”を「Excel」風にするのが“セル選択モード”と捉えておけばいいだろう。“セル選択モード”は一時的に解除することも可能。行や列を移動するには“セル選択モード”が便利だが、“カンマを削除してセルを結合したい”といった場合は、“セル選択モード”だけを解除してテキストエディターっぽく使う方がやりやすい。“セル選択モード”だけを解除した様子。“CSVモード”によりテーブル表示は有効のままだが、選択は文字単位となり、通常のテキストエディターに近い操作となる。区切り文字も削除可能だ試しに“CSVモード”も解除して、「EmEditor」を一旦“通常モード”へ戻してみよう。CSVデータを一般のテキストエディターで表示したときの状態に戻るのがわかる。改行文字を含む置換を行う場合など、状況によっては“通常モード”の方が編集しやすいケースもあるので、覚えておくとよい。“CSVモード”へ切り替えると、区切り文字で行が分割され、“セパレーター(薄いグレーで描かれる縦線)”で同じカラムがそろえて表示される(つまり「Excel」風のテーブル表示になる)。した柔軟性の高さも「EmEditor」の魅力といえるだろう。ちなみに、“セル選択モード”を有効化したときにあらわれる[セル]ツールバーは、セルの内容を表示・編集するためのコントロールだ。区切り文字を含むデータを入力すると自動で引用符で括ってくれたり、[Ctrl]+[Enter]キーで改行を挿入できたりするなど、高度なセル編集を行うときには役立つ。邪魔な場合は非表示にすることもできる。セルの内容を表示・編集する[セル]ツールバーでは、区切り文字であるカンマ(,)や改行も挿入できる幽霊セルに注意!「EmEditor」の“CSVモード”+“セル選択モード”では、右下の方の空白をダブルクリックするとテーブルが拡張される。以下のスクリーンショットではダブルクリックで8×4のテーブルが作成された(ようにみえる)。改行記号をよく見るとわかる通り、ちゃんと4列あるのは最後の行だけで、上7行は1列しかない。マス目は区切ってあるものの、データがないのだ。この挙動は「Excel」にはないので、少し戸惑うかもしれない。マス目は区切ってあるものの、データがない“幽霊セル”ができることがあるこの場合、列の足りない行で[Tab]キーを押せば、右隣に空のセルが追加される。[CSV/並び替え]ツールバーの[列/セパレーター]にある[列数をそろえる]コマンドを利用すれば、足りないセルを補って、すべての行を同じ列数にすることができる。応用1:オートフィルで連番を挿入するそれでは、応用例として“新規に製品リスト”を作成するケースを考えてみよう。この製品リストは1列目が“製品ID”、2列目が“製品名”になっており、“製品ID”は連番になっている。“001”、“002”、“003”といった具合だ。連番の“製品ID”を手軽に入力したいこういう時に便利なのが「Excel」の“オートフィル”機能だが、これは「EmEditor」でも利用できる。ハンドル”をマウスでドラッグすると、当該セルと同じ値を上下左右の隣接セルにコピーすることができる。ハンドル”をドラッグすると、連番も簡単に入力できる。ハンドル”をドラッグすると、連番も簡単に入力できる“製品ID”には連番のアルファベットが付いている(接頭辞)こともあるが、こういう場合にも“オートフィル”機能が利用できる。は広いので、ぜひ覚えておきたいワザだ。基本2:既存のファイルを「EmEditor」をCSVモードで開くさて、新規にCSVファイルを作成する方法についてはこれでわかった。あるCSVファイルを開く場合はどうすればいいのだろうか。実はこれは簡単で、「EmEditor」へドラッグ&ドロップするだけでよい。「EmEditor」は自動で“CSVモード”+“セル選択モード”に切り替わる。区切り文字も自動で認識してくれるため、ユーザーは意識しなくてもよい。既存のCSVファイルを「EmEditor」へドラッグ&ドロップすれば、自動で“CSVモード”+“セル選択モード”にただし、テーブルデータに見出し(ヘディング)がついている場合は、少し工夫が必要だ。見出しはデータではないので、後述する検索や置換、並べ替え、フィルタリングでは除外しておきたい。「EmEditor」は指定した行を見出しとして扱う機能が備わっているので、それを活用しよう。[CSV/並び替え]ツールバー右端にある[ヘディング]ボタンを押すと[ヘディング(数字)]というメニューが現れるが、これを選択すると(数字)の分だけ最上部の指定行数がデータ行ではなく見出し行として扱われるようになる。見出し行はデータ行を上下にスクロールしても必ず最上部に表示される。[ヘディング(数字)]オプションで最上部の指定行数がデータ行ではなく見出し行として扱われるように応用2:CSVデータを見やすく並び替え・フィルタリングするすでにあるCSVファイルを渡されたら、まずやってみたいのは並び替えやフィルタリングだろう。「Excel」ではもちろんできるが、「EmEditor」ではどうであろうか。「EmEditor」の場合、以下の並び替え(ソート)がサポートされており、それぞれ昇順・降順に並べることができる。出現頻度IPv4/IPv6アドレスランダムとくに“出現頻度”と“IPアドレス”のソートは「Excel」で実現するにはひと工夫必要となるので、「EmEditor」に一日の長があるといえる。アクセスログを分析する場合などに役立ちそうだ。ソート処理を行うにはヘッダー行をダブルクリックして列を選択し、右クリックメニューから並び替えの方法を選択する。“列2で並び替えた後に列3で並び替えたい”といった場合は、[複数列で並び替え]ダイアログが便利だ。[複数列で並び替え]ダイアログまた、「EmEditor」はフィルター機能も充実している。指定したキーワードが含まれている行だけを抽出して表示することができるので、特定のデータのみを閲覧したい場合に役立つ。フィルター機能を利用するときは、[フィルター]ツールバーを表示しておくとよいだろう。テキストボックスにキーワードを入力すれば、それに合致する行のみが表示される。テキストボックスの右隣にあるプルダウンメニューを操作すれば、特定の列にキーワードが含まれる場合だけ抽出できる。フィルタリングされた行を新しいタブへ抽出したり、まとめてブックマークを付けることも可能だ。テキストエディターから進化しただけあって、「EmEditor」では正規表現によるフィルタリングも行える。指定したキーワードが含まれている行だけを抽出する[フィルター]ツールバーさらに、キーワード欄にクエリを記述すれば、複数のキーワードを含む場合や、特定のキーワードは除外したい場合、条件が複数の列にまたがる場合など、より高度なフィルタリングも行える。クエリは直書きすることもできるが、慣れないうちは[高度なフィルター]ダイアログを利用するのがおすすめ。これはいわばGUIのクエリビルダーで、AND検索・OR検索を組み合わせて高度なクエリを記述することができる。正規表現が苦手でも、同等の検索条件を実現できる。[高度なフィルター]ダイアログで複雑なフィルター条件(クエリ)をGUIで一致する行の上下指定行のみを表示するフィルター機能を利用すれば、“指定したキーワード(シンボル)がソースコードで使われている箇所”を抽出するのも簡単だ。フィルター機能で“指定したキーワード(シンボル)がソースコードで使われている箇所”を抽出しかし、こうした場合は“そのキーワードが使われた前後の文脈”も把握したくはならないだろうか。フィルタリングしただけでは、単にマッチした行が羅列されるだけで、そのキーワードがどのように使われたのかは把握しづらい。「EmEditor」では、[フィルター]ツールバーの右端にあるプルダウンメニューを操作して、“一致する行の上下指定行のみを表示する”ことが可能。“2”“2”と指定しておけば、マッチした行に加え上の2行、下の2行も表示される。CSVデータでこの機能を使うことはあまりないかもしれないが、覚えておけば役に立つこともあるかもしれない。マッチする行だけでなく、その上下も表示するようにすれば、そのキーワードが使われた文脈がわかりやすい応用3:「EmEditor」の変換機能を用いてCSVデータを整えるさて、前節ではCSV形式のテーブルデータを並へ替えたり、フィルタリングする方法を学んだ。「EmEditor」はデータを分析するだけではなく、データを加工するのに役立つ機能も満載だ。フィル”はご存じだろう。フィル”は既存データから法則を見つけ出し、それに従って自動入力できる機能だ。氏名(姓+名をスペース区切りで記入)を姓と名、2つのフィールドに分割したり、逆に姓フィールドと名フィールドを結合して1つの氏名フィールドを作成するといった処理もお手の物だ。フィル”ならば簡単なマウス操作で行える。フィル”機能も備えており、「Excel」のような感覚でデータを加工できる。「Excel」には“UPPER”、“LOWER”、“PROPER”といった文字列操作関数が用意されており、データを大文字・小文字で統一したり、単語の最初の文字だけ大文字へ揃えたりすることができる。「EmEditor」にも同様の[大文字に変換][小文字に変換][単語の最初の文字を大文字に変換]コマンドが選択範囲の右クリックメニューの[選択範囲の変換]メニュー以下に配置されている。これらのコマンドは“通常モード”だけでなく、“CSVモード”でも問題なく利用可能。先頭の空白や最後の空白を削除するコマンドも備えており、セルに混入した空白ゴミも簡単に除去できる。変換が行われる全角・半角を統一する最後に、全角で入力してもらったデータをあとから半角で統一したくなった場合はどうすればいいのだろうか。「Excel」であれば、“ASC”関数や“JIS”関数を利用して全角・半角の変換が可能なのだが......。「EmEditor」場合は、標準で[編集]-[高度な操作]-[半角/全角変換]コマンドが搭載されており、全角・半角の相互変換が可能。このコマンドは右クリックメニューからも呼び出せ、選択範囲のみを変換することも簡単だ。全角・半角の変換が行われるそのほかにも[高度な操作]コマンドでは日時や特殊文字の挿入が可能。覚えておくと役に立つこともあるだろう。結びそのほかにも、「EmEditor」では以下の処理が可能だ。目的の列だけ抽出する([編集]-[CSV]-[列を抽出])重複行の削除([編集]-[高度な操作]-[重複行の削除])CSVの結合([編集]-[CSV]-[結合])CSVフォーマットの変換([編集]-[CSV]-[次のCSVに変換])もちろん、通常のテキスト検索・置換も利用できるので、CSVフォーマットを扱うならば「EmEditor」の方が楽な場合が圧倒的に多い。ことテキスト処理に関しては、「EmEditor」で代替できない処理はほぼない。「Excel」のようにテーブルデータを無理に数値として解釈しようとしない点も、「EmEditor」の方が扱いやすい要因といえるだろう。「Excel」より軽量なCSVエディターを求めているユーザーにとって、「EmEditor」はよい選択肢となるだろう。よければ、過去の記事も参考にしていただければ幸いだ。