3.7.1
全角・半角のゆれを正規化する
まとめ
- 全角英数字・記号を半角に、全角スペースを半角に正規化する。
unicodedata.normalize("NFKC")と追加の変換テーブルで統一する。- 検索・グルーピングの精度を上げるための基本前処理として使う。
日本語の入力フォームから集めたデータには、ABC のような全角英数字や - と ー が混在するケースがよくあります。テキストを正規化しておくと、検索やグルーピングのヒット率が大きく向上します。
| |
NFKC 正規化だけでは吸収できない長音やダッシュ類は、追加の変換テーブルで吸収します。ブランド名などでハイフンが重要な場合は、翻訳テーブルを業務のルールに合わせて調整してください。
運用のヒント #
- 全角スペースは
strip()だけでは落ちないので、明示的に半角へ統一しておきます。 - 機種依存文字(例:
①や㈱)は NFKC で通常の数字・括弧に展開されるため、識別子に組み込める形へ整形できます。 - 日付や数値カラムでも全角数字が混ざることがあるので、数値変換前にこの関数を噛ませるとエラーが減ります。