ちょいデータ加工は..テキストエディタで
はじめに
はじめまして、
今回、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が利用出来たりします(情報の取扱いは最新の注意が必要)。
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キーを押しながら選択すると部分選択が出来ますよ
矩形選択した上で、置換ダイアログを表示すると「範囲」:「選択部分」を対象とした置換が可能です!
また矩形選択した箇所は、アクティブ状態であれば文字列も挿入出来ます。
普段は、この方法を利用して、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が見ていただいた方の
なにかのお役に立てれば幸いです。
では、良いクリスマス&良いお年をお迎えください。
この記事が気に入ったらサポートをしてみませんか?