第4回:実践!データ加工〔全角⇔半角変換と文字列置換〕

OrangeLab. 運営チーム
作成日時: - 更新日時:
Avatar

使用ソフトウェア:DataMagic for Windows Ver.2.2.2
「DataMagic」のデータ加工について、「DataMagic」を使いながらご説明します。
※下記バージョンのDataMagicについては、次の記事をご参照ください。
 DataMagic 実践!データ加工〔全角⇔半角変換と文字列置換〕(Ver.3.0.0)

はじめに

HULFT Orange Lab.運営チームの佐々木です。
「DataMagic」の記事を担当しています。

今回と次回は文字や文字列を置き換える、文字のフォーマットを変更するなどといったようなデータ加工編となります。

まず「データ加工」ですが機能が多く、一回では説明が終わらないため複数回に跨ることをご理解ください。
記事で説明する機能については、記事のタイトルにも記載しますので、役に立ちそうなものがあれば都度ご参考ください。

なお、本TIPSを利用するには、DataMagicがコンピュータにインストールされていることが条件となります。
DataMagicの入手先やインストール方法などについては、当ページ下部のDataMagicとGUIのインストールを
参照してください。

それでは「全角⇔半角変換と文字列置換」です。

そもそもカナや英数字の、全角か半角かはシステムや入力者に依存することが多く、複数のシステムや、取引先から同様の情報を
入手してもフォーマットや形式が異なるケースがあります。
システムの設計時に細かくフォーマット等や仕様指定できれば、問題はないのですが既に稼働しているシステムのデータを使う場合などは
そうはいきません。
特に、顧客データ等に含まれやすい氏名の読み、電話番号や郵便番号、番地や住所などに全角・半角が混在するケースが目立ちます。

これらに対しDataMagicは、データマッピング画面を用意し、簡単に全角から半角、半角から全角と変換が可能です。
また氏名および住所情報に関して、スペースの削除、「1丁目2番地3号」を「1-2-3」に書式変更するなども可能です。
本TIPSでは、カナ・英数字・記号について混在するCSVデータを各種統一した文字に変換した出力データを作成する例を紹介します。
今回の実践は下記イメージのようにCSVファイルの加工を行います。



下記イメージのように、表記統一、データ補填などを行います。

準備

サンプルデータ[CSV形式]

格納先は任意ではありますが、以下のフォルダを作成してください。
サンプルデータ格納先
C:\work\SAMPLE\inputdata\
出力データ格納先
C:\work\SAMPLE\outputdata\
準備として「DataMagic」を起動し、任意で作成した接続先に接続してください。

手順

Step01

タブボタンにある「アダプタ」を選択し「ファイル」から「CSV」を選びます。

Step02

操作メニューから「新規作成」を押下すると下記画面が起動します。
画面が起動しましたらIDと項目名を決め、適用ボタンを押下し入力定義を作成します。

入力定義の項目名は以下の4つとなります。
  1. 氏名
  2. 郵便番号
  3. 住所
  4. マンション名

Step03

次に出力定義の作成を行います。IDを決めた後入力定義と同じように項目を追加し「適用」ボタンを押します。

出力定義の項目名も以下の4つとなります。
  1. 氏名
  2. 郵便番号
  3. 住所
  4. マンション名

Step04

下記画面のようにCSVの入力定義と出力定義が追加されます。これによりCSVデータの準備はできました。

Step05

次はデータ加工情報を作成するため、タブボタンからデータ加工を選択します。
下記画面が表示されますので、入力ファイル設定するため「入力」とかかれたボタンをダブルクリックします。

Step06

IDにはStep02で作成したアダプタの入力情報を設定します。
ファイル名はサンプルとして用意したCSVのデータを指定します。

Step07

情報入力が終わり、「OK」ボタンを押すと下記画面が開きますが、OKを押下し画面を閉じます。

Step08

入力ファイルの設定は完了しました。
次は出力ファイルを設定するため「出力」とかかれたボタンをダブルクリックします。

Step09

Step03で作成したアダプタの出力情報を設定し、出力ファイルの出力先を名称を決めます。

Step10

画面左にあるタブのコード変換を選択し、全角半角の設定をそれぞれ「全角⇒半角」に設定しOKを押下します。

Step11

入力データと、出力データの設定が終わりました。

Step12

抽出条件の●から、出力条件の●へドラックしつなげます。
下記画面のように出力ファイル定義と抽出条件が連結されます。

Step13

灰色に反転している抽出条件をダブルクリックすることで下記画面が開くので、下図のように4つの項目を結びます。

Step14

今回は郵便番号以外の項目にデータ加工を行うため、「氏名」を選択し画面右上にある「出力情報」欄の「関数」をダブルクリックします。

Step15

下記画面が表示されますので、関数欄に「REPLACE_REG{ ,}」と入力し、OKボタンを押下します。

今回使用する「REPLACE_REG{a,b}」という関数は「a」を「b」に置き換えることができます。
(今回は空白を取り除き、苗字と名前の間を詰める為に、「b」には空文字列を設定します)

※ 本関数の詳細や、その他のコマンドについては「DataMagic - リファレンスマニュアル -」を参照ください。

Step16

下図のように関数が登録されると、「出力情報」欄の「関数」に設定した値が登録されます。

Step17

Step15と同様に、住所にも関数を設定してOKボタンを押下します。

入力する関数は「REPLACE_REG{/ /丁目/番地/号$/,//-/-//}」です。
ここでは「空白」と「号で終わる文字列」を取り除き、「丁目」と「番地」を「-」に置き換えています。

※ 文字列に「$」をつけると該当する文字列を対象とします。(a$:aで始まる文字列、$b:bで終わる文字列)

Step18

Step15、Step17と同様に、マンション名にも関数を設定してOKボタンを押下します。

入力する関数は「REPLACE_REG{^$,NULL}」です。
ここでは値が設定されていない場合、「NULL」に置き換えています。

※ 「^」に「$」をつけると、入力値がない場合を指定できます。

Step19

氏名、住所、マンション名に関数を設定しましたら、OKボタンを押下し設定を登録します。

Step20

以上で設定はすべて完了しましたので、画面の実行ボタンを押下しデータ加工結果を確認します。

Step21

実行すると下記画面が表示されますので、出力ファイル生成モードを確認し実行します。

Step22

下記のように正常終了しましたら出力データを確認してください。

Step23

下記は編集後のデータです。



氏名については空白が削除され、住所は半角に統一しフォーマットも固定されました。
そしてマンション名についてはカナを全角から半角に変換し、入力がないものについてはNULLと置き換えました。

さいごに

今回はさらに踏み込みDataMagicの関数を使用してみましたが、如何でしたでしょうか?
ツールとして簡単に使いたい人は抵抗を感じるかもしれませんが、関数を使いこなすと色々細かく編集することができます。
今後の記事ではやりたいことに合わせ、それぞれ関数なども併用していきます。
次回もデータ加工の実践編です。
今回と同じくDataMagicを使用し、実践でも使えるデータ加工方法をご紹介します。

サンプルデータ

サンプルデータはzip形式での提供となります。解凍してからご利用ください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント