取り扱いが難しい文字を変換してデータ分析を楽にする| 第8回 データクレンジング手法

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

扱いにくい文字を変換することでデータの取り扱いを楽にする

データ分析を行う場合、分析元となるデータは、データ受領時の情報を変えないのが原則正しいです。しかし、一部の文字に対しては、データ分析時の取り扱いが難しいため、文字置換を行いデータベース(以下、DB)に登録する場合があります。これらの対象の文字は、データの使用用途によって様々ありますが、その中で代表的な文字について説明します。

タブ文字、改行文字

取り扱いが難しい理由

DBへの取込(インポート)時、タブ文字は項目間の区切り文字として使われることがあり、改行文字は行間の区切り文字として使われることがあります。これらの文字が取り込むデータファイル上に存在すると正しくデータが解釈されず、DBへの取込時にエラーが発生する場合があります。また、改行文字をSQL命令でテーブルに追加する場合、正しくSQL命令が解釈されず、SQLエラーが発生します。これらのエラーを回避する方法はありますが、ひと手間が必要です。

対処方法

タブ文字、改行文字は半角スペースに文字置換を行います。タブ文字や改行文字は、単語や文章の区切りとして使用されることが多いため、文章を崩さない文字として半角スペースが最適です。また、タブ文字も改行文字も見えない文字のため、半角スペースに変換しても違和感はありません。

シングルクォーテーション、ダブルクォーテーション、¥マーク

取り扱いが難しい理由

以下の理由によって取り扱いが難しいです。(ひと手間を入れればエラーを回避してDBに取込めます)

  • シングルクォーテーション:SQL命令の文字列の括りとして使われているため、SQL命令を正しく解釈されない場合がある
  • ダブルクォーテーション:CSVデータの文字列の括りとして使われているため、DBの取込時に正しく解釈されない場合がある
  • ¥マーク:¥マークはエスケープ文字として扱われるため、DBの取込時に正しく解釈されない場合がある

対処方法

シングルクォーテーション、ダブルクォーテーション、¥マークは全角文字に置換を行います。これらの文字は、文字列として1つの意味を表す事はないため全角文字に置換しても文章の意味を変えることはありません。しかし、全角文字に置換することによって、元の文字列より情報量(バイト桁数)が増えますので、登録先のテーブル項目の長さを拡張する場合がありますので、注意が必要です。

分析元データの情報を変えても「意味」が変わらなければ問題ない

データ分析を行う場合、受領したデータをそのまま分析する必要はありません。なぜなら、データ分析は、データが持っている「意味」を分析するからです。データの「意味」さえ変わらなければ、データ分析は、問題なく行えます。また、同じ意味のデータを纏める「名寄せ」処理を行うことで、隠れていたデータの繋がりを見つけることも可能になります。
【連載記事リスト】
1. データクレンジングとは
2. データベースに取込める形にデータファイルを加工
3. データベースのデータ型を変える
4. 扱いやすい単位にデータ加工
5. 管理情報を追加してテーブルを統合
6. ミスを少なくするために登録形式を統一する
7. ETLとは~あらゆるデータファイルを理解してデータベース化する~
8. 取り扱いが難しい文字を変換して快適なデータ分析を楽にする
 

SERVICE