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

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

使用ソフトウェア:DataMagic Server for Windows Ver.3.0.0
「DataMagic」のデータ加工についてご紹介します。
※Ver.2.2.2のDataMagicについては、次の記事をご参照ください。
 (記事内容に大きな差異はありません。
      Ver.3.0.0のインタフェースに沿った操作手順とスクリーンショットにて、再度ご紹介しています。)
DataMagic 実践!データ加工〔全角⇔半角変換と文字列置換〕 (Ver.2.2.2)

はじめに

HULFT OrangeLab.運営チームの佐々木です。

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

「データ加工」は機能が多いため、複数回に分けてご紹介します。
記事で説明する機能については、記事のタイトルにも記載しますので、役に立ちそうなものがあれば都度ご参考ください。

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

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

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



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

準備

まずは、変換元となるCSVのデータを用意します。

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

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

手順

データ変換に必要な定義情報を作成します。
データ変換の流れは大きく分けると以下になります。
  1. 入力ファイル情報の設定
  2. 出力ファイル情報の設定
  3. データ加工情報の設定

Step01

まずは、「1.入力ファイル情報の設定」を行いましょう。
今回のサンプルファイルはCSV形式なので、入力ファイルのCSV情報を登録します。

スタートページから「CSV」を選択します。

Step02

操作メニューから「新規作成」をクリックし、CSV情報詳細画面を起動します。
画面が起動したら、下記画面を参考に「ID」と項目情報を設定し、「適用」をクリックして保存します。



項目名 説明
囲み文字 文字列データに付加されている囲み文字を指定します。
今回は【0x00】を設定します。
ID 登録したCSV情報を識別するためのIDを指定します。
今回はIDを【SAMPLE003_IN】とします。

これで、「1.入力ファイル情報の設定」は完了です。

Step03

次に「2.出力ファイル情報の設定」を行います。
今回は出力ファイルもCSV形式であるため、入力ファイルと同じように「ID」と項目情報を設定し、「適用」をクリックして保存します。



項目名 説明
囲み文字 文字列データに付加されている囲み文字を指定します。
今回は【0x00】を設定します。
ID 登録したCSV情報を識別するためのIDを指定します。
今回はIDを【SAMPLE003_OUT】とします。

これで、「2.出力ファイル情報の設定」は完了です。

Step04

情報入力が終わり、CSV詳細情報画面の「保存」をクリックすると、CSV情報一覧画面にCSVの定義が追加されます。

Step05

次に「3.データ加工情報の設定」を行います。

スタートページから「データ加工」を選択します。 

Step06

操作メニューから「新規作成」をクリックし、データ加工情報設定画面を起動したら、まずは入力ファイルの設定を行います。

オブジェクトパレットから「CSV」を選択し、入力ファイルエリアへドロップします。
ドロップ後、「CSV」アイコンをダブルクリックします。

Step07

入力設定画面のレイアウトタブを設定します。



項目名 説明
ID 入力ファイルIDを設定します。
Step02で作成した【SAMPLE003_IN】を設定します。
ファイル名 入力ファイルを指定します。
事前準備で用意した【C:\work\SAMPLE\inputdata\sample_003】を設定します。

これで、入力ファイルの設定は完了です。

Step08

出力ファイルの設定を行います。

オブジェクトパレットから「CSV」を選択し、出力ファイルエリアへドロップします。
ドロップ後、「CSV」アイコンをダブルクリックします。

Step09

出力設定画面のレイアウトタブを設定します。



項目名 説明
ID 出力ファイルIDを設定します。
Step03で作成した【SAMPLE003_OUT】を設定します。
出力先指定 出力先の指定方法を選択します。今回は、"固定値"を指定します。
ファイル名には、出力ファイルの絶対パスまたは相対パスで設定します。
今回、出力ファイル名は【C:\work\SAMPLE\outputdata\sample003_out】とします。

Step10

出力設定画面のコード変換タブを設定します。
「全角半角変換」の設定をそれぞれ「全角⇒半角」に設定します。

Step11

入力ファイル・出力ファイルの項目間のマッピング処理を定義します。
抽出条件と出力条件を結び、マッピングアイコンをダブルクリックします。

Step12

メニューから「同一項目をマッピング」を選択します。
この操作により、入力項目と出力項目がマッピング線で結ばれます。

Step13

今回は郵便番号以外の項目にデータ加工を行います。
「氏名」を選択し、画面右上にある「出力情報」の「編集」をクリックします。

Step14

出力情報設定画面が表示されますので、関数欄に「REPLACE_REG{ ,}」と入力し、「OK」ボタンをクリックします。

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

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

Step15

関数が登録されると、下記画面のように「出力情報」の「関数」にStep14で設定した値が表示されます。

Step16

「氏名」と同様に「住所」にも関数を設定し、「OK」ボタンをクリックします。

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

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

Step17

「氏名」、「住所」と同様に、「マンション名」にも関数を設定し、「OK」ボタンをクリックします。

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

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

Step18

「氏名」、「住所」、「マンション名」に関数を設定しましたら、「OK」ボタンをクリックし、設定を登録します。

Step19

最後に、任意の「ID」を入力し、データ加工情報設定画面の「適用」をクリックします。



項目名 説明
ID データ加工情報を識別するためのIDを指定します。
今回はIDを【sample003】とします。

これで、「3.データ加工情報の設定」は完了です。

Step20

それでは実行してみましょう。データ加工情報設定画面上部の「実行」をクリックし、データ加工実行画面を起動します。
画面が起動したら、そのまま「実行」ボタンをクリックします。

Step21

処理が正常に動作すると、下記のメッセージが出ます。
もしエラーの場合は、出力されるコードから原因を取り除いてください。

Step22

出力データ格納先として指定した「C:\work\SAMPLE\outputdata\」を確認してください。
「sample003_out」というファイルが出力されているので、メモ帳などで中身を参照し、変換結果を確認してください。



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

さいごに

今回はさらに踏み込みDataMagicの関数を使用してみましたが、いかがでしたでしょうか。
ツールとして簡単に使いたい人は抵抗を感じるかもしれませんが、関数を使いこなすと色々細かく編集することができます。
今後の記事ではやりたいことに合わせ、それぞれ関数なども併用していきます。

DataMagic評価版のダウンロード

DataMagic評価版は「my HULFT」からダウンロードできます。
DataMagic評価版のインストール

〔注意事項〕
  • 「my HULFT」を利用するには、別途「my HULFT」へのユーザ登録が必要となります。詳細については、「my HULFT」ページをご覧ください。
  • DataMagicの利用にあたっては、DataMagic本体のほか、GUIツールであるDataMagic Managerのインストールが必要となります。なお、DataMagic ManagerはDataMagic本体に付属しています。

〔インストール方法〕
DataMagicとDataMagic Managerのインストール方法については、以下のページを参照ください。
DataMagicのインストール方法
DataMagic Managerのインストール方法

サンプルデータ

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

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

コメント