ちょいデータ加工は..テキストエディタで


はじめに

はじめまして、
今回、2023年 Tabjo アドベントカレンダーに投稿させて頂きました。
ふじたくといいます!

普段は、Japan Tableau User Groupにてイベントチームで
イベントの企画などをしています。

今回は、イベント企画で一度やってみたかったけど、、
流石に開催は出来ないなというボツネタ
テキストエディタ(+α)を活用したデータ加工をテーマに
記事を書いてみたいと思います。
初投稿ながら、多めに見ていただけると幸いです!

データ加工は専用ツールが基本

さて、みなさんは、普段のデータ加工は何で行われていますか?
Tableau Prep Builderを使われている方もいれば、他の環境、属に言うデータ変換ツールETL, ELTツールを使われている方も見えるかもしれません。

職場であれば、上記のようなデータ変換の専用ツール、環境はあると思うのですが、いざ自宅での勉強やTableau Publicに投稿してみようってなった時、案外環境がなかったりしたことはありませんか?ツール起動が億劫になる場合があるかもしれません。

そんな私は、普段データ加工はPrep Builderが使えない環境が多く、
せっかくなのでご紹介させて頂こうと思います。

準備出来ない時だからこそ
        テキストエディタ + α

そうそれは、テキストエディタ を軸とした変換です。
昔は、秀丸エディタぐらいしかまともな変換が出来ない時期もありました。時代は代わり、フリーソフトでも結構出来ます。会社買ってくれない(T_T)

一方、秀丸エディタ、EmEditorのような有償ソフトのメリットは効率的なメモリ利用による高速化、大きなデータ対応、そして不具合時のサポート体制です。なかなか個人利用は難しいですが、利点ももちろんあります。
ここでは、自身がオススメするエディタをご紹介します。

1.おすすめフリーテキストエディタ

  ・サクラエディタ
    結構利用されている方多いと思うので説明は割愛しますが
    オープンソースで使い勝手がよい。。

  ・gPad(64bit対応もしていて期待大)
    TAB区切り、カンマ区切りデータをセル表示ができるので
    エディタ内でデータ欠損の可視化、操作が完結出来るエディタ

いろいろなエディタがあると思うので、もしよければX(Twitter)でオススメのエディタを共有いただけると幸いです。

テキストエディタだけでは、やはり心もとないということで、
作業効率化のために、+αを、いや皆さんご存じですよねw。。

2.テキストエディタ+GPT

  ChatGPTは無償版で結構できますが、話題のBingやwrtnを活用するのも手です。特に、wrtnは、プロンプトという指示を出しながら無償でGPT4が利用出来たりします(情報の取扱いは最新の注意が必要)。  

リートンの使い方と始め方を解説!AI生成ツールWrtnが便利! | Kura News (oochikura.jp)

Kura News(使い方の一例です)の紹介サイト
Googleアカウント等必要

3.テキストエディタ+Excel

  上記テキストエディタでは、カバーしきれないものを
  Excelのセル機能やマクロを活用してデータを整形します。

  私はよくPrep,Desktopの「データインタープリタ」で
  変換出来ないデータをよく、データにTAB文字を入れて、
  Excel ←→ テキストエディタを行き来きしながら
  データを調整していきます。

利用例

ここからは、テキストエディタ利用の一例をご紹介します。

正規表現を使った置換へ

Tableau Desktop や Prep内の REGEXP系関数でも十分できるのですが、すべての正規表現に対応出来ないので、悩む前に各種サイトでリアルタイムにチェックできるサイトやGPTを利用してエディタで変換します。

ちなみにサクラエディタは行単位でしか正規表現が出来ない、検索制約があるので、そのあたりの制約がないエディタを利用したり、一旦改行コードを、出現しない文字列「 T_T 」 などに置換して1行にし、後で改行コードに戻すという荒業を使うこともしますw.

ここでは、正規表現の解説サイトはたくさん例があるので、割愛しますが下記のようなサイトが端的にまとまっているかもしれません。

サクラエディタの正規表現まとめ!置換やGrep、ワイルドカードなど使い方と使用例 | アンドエンジニア (and-engineer.com)

サクラエディタの簡単ですぐ使える正規表現 #正規表現 - Qiita

利用可能な正規表現 (sakura-editor.github.io)


必殺、「矩形選択」という選択

あと置換、変換って、一括を連想される方が多いのですが、
使っていくと、このカラムだけだったり、この部分だけ集中的に変換したいなど部分変換があるかと思います。
そんなときは大半のエディタが備えている特定エリアの処理するための選択
「矩形(くけい)選択」を使って一部変換します。

サクラエディタでは、Altキーを押しながら選択すると部分選択が出来ますよ

矩形選択時
矩形選択箇所をカナ変換した例

矩形選択した上で、置換ダイアログを表示すると「範囲」:「選択部分」を対象とした置換が可能です!

矩形選択をしながら選択
「おお」を変換。


また矩形選択した箇所は、アクティブ状態であれば文字列も挿入出来ます。

特定箇所を選択して、TABを押すと
区切りが出来るので、そのままExcelに貼ればデータも作れます
右のようなテキストデータを作りExcelに貼った例

普段は、この方法を利用して、SQL文のInsert文、Update文を作ったりしてTableau基盤にデータ準備をしたりしてます。矩形選択・挿入を知ったときは本当感動でした。Excelでベースを作って、TAB文字を取り除くみたいな2工程ぐらい追加作業してましたね。。


全角半角変換(特に仮名、数字の変換)

サクラエディタで変換する場合ですが、標準で備えている変換メニューがたくさんあります。そちらで一括、選択部分を変換してしまおうというものです。ここではTableau Prep, Desktopで扱いづらい
「かな変換」を例にご紹介します。
ちなみにこの機能でソフトの差がついたりします。

半角カナを全角ひらがなに
全角ひらがなに変換

ただ元データによりうまく変換出来ない場合もあるので、
半角の「パ」など半濁音などは、「パ」という2文字を対象に再度変換したり、チルダ「~」もDB都合で文字化けして表示される場合があるので、これは傾向を掴みながら文字化けした箇所を変換していきます。

ソートして重複排除

元データに揺らぎがあって、データの整合性が維持出来ていない場合など、データを修正を行い、別テーブルに分離する際に(正規化処理を行うプロセス)、マスタデータを作成するときに便利なのが、ソートして重複データの削除の機能です。

これを活用することで、Prepのような一括置換の元データの参考ソースを簡単に作ることが出来ます。

例えば、TAB文字入りのゆらぎデータを整形する場合ですが、
1。データを全選択してから並び替え(ソート:Alt + A)

キーボードショットカットはメニューに記載があります

2.TAB文字(正規表現で¥t )やスペースなど揺らぎ要素を置換( Ctrl キー + R)

3.データを整えた後、全選択して
   重複データの削除(Altキー + M)を行います。

一連のキー操作は上記メニューの「編集」→「整形」を利用しています。

変換後は、確認!

データの変換完了したら、念のため変換前と変換後のデータをデータ比較ツールを利用して、変更箇所の確認します。

おすすめの差異抽出・比較ツールはWinMergeというツールです。
フォルダ比較、Excelの簡易比較も出来たりします。

ちょっとデータが多い場合は、データベース等を利用しますが、
そちらは記事で書ききれないので🙏

最後に

上記となりますが、こちらのTipsが見ていただいた方の
なにかのお役に立てれば幸いです。

では、良いクリスマス&良いお年をお迎えください。

この記事が気に入ったらサポートをしてみませんか?