Python|mojimojiで全角半角変換!使い方・インストールできないときの対処を解説

Pythonで全角半角変換を一括置換するのは、なかなか困難なものです。

replaseも正規表現もあれこれ試したけど…

一括置換するいい方法はあるの?

ライブラリmojimojiなら、あっさり置換できます。

一括置換するならPandasデータフレームを使うのが簡便です。文字列の全角→半角、または半角→全角を一括置換できます。

pip install mojimojiでインストールできない場合は、『Windows 10 SDK』を入れればインストールできるようになります。

この記事では、Pythonで全角半角変換のためのライブラリmojimojiについて解説します。

mojimojiの使い方

df['column'] = df['column'].apply(mojimoji.zen_to_han)

mojimojiの変換は、カタカナ、英字、数字の3タイプすべてに適用されます。

  • カタカナ:アイズ → アイズ
  • 英字:Full → Full
  • 数字:2001 → 2001

変換したくない文字タイプがある場合は変換オプションを指定します。変換したくない文字タイプにFalseを指定します。

  • カタカナの変換をキャンセル:kana=False
  • 英字の変換をキャンセル:ascii=False
  • 数字の変換をキャンセル:digit=False

カタカナの変換をキャンセル・kana=False

df['column'] = df['column'].apply(mojimoji.zen_to_han, kana=False)

Pandasでmojimojiの全角→半角文字列置換のカナを変換しない方法を示す画像

カタカナ(1行目)だけ、変換がキャンセルされています。

英字の変換をキャンセル・ascii=False

df['column'] = df['column'].apply(mojimoji.zen_to_han, ascii=False)

Pandasでmojimojiの全角→半角文字列置換のカナを変換しない方法を示す画像

英字(2行目)だけ、変換がキャンセルされています。

数字の変換をキャンセル・digit=False

df['column'] = df['column'].apply(mojimoji.zen_to_han, digit=False)

Pandasでmojimojiの全角→半角文字列置換のカナを変換しない方法を示す画像

数字(3行目)だけ、変換がキャンセルされています。

mojimojiとpandasで一括置換

全角半角、または半角全角を一括置換したい場合は、pandasを使うと一発です。

pandasデータフレームのテキスト(str型)の列に当てれば一括置換できます。

import mojimoji

#全角 → 半角
df['column'] = df['column'].apply(mojimoji.zen_to_han)

#半角 → 全角
df['column'] = df['column'].apply(mojimoji.han_to_zen)

mojimojiのインストール方法

コマンドプロンプトから、pipコマンドでインストールします。

pip install mojimoji

mojimojiをインストールできないときは

Pythonのpip install mojimojiでエラーが発生した様子を示す画像

このようなエラーが発生した場合は、『Windows SDK(ソフトウェア開発キット)』をインストールする必要があります。

『Windows SDK』のインストール(30分程度)は、.Net Frameworkのバージョンが4.5.1以上でなければ失敗してしまいます。

まず先に.Net Frameworkをインストール(2分程度)してみるのが良いです。

Microsoftダウンロードセンター > .Net Framework 4.5.1

『Windows SDK』を含むC++ Build Tools(visualcppbuildtools_full.exe)をダウンロードして実行します。次のどちらかの方法でダウンロードします。

  • Microsoft VisualStudio:以前のバージョン > 再頒布さいはんぷ可能パッケージおよびビルドツール > Microsoft Build Tools 2015 Update 3 > ダウンロード
  • Microsoft Store:visualcppbuildtools_full.exe(いきなりダウンロードが始まります。)

なお、このexeファイルは手に入れづらいので、今後のために保管しておくとよいでしょう。

ダブルクリックするとインストールを開始できます。

カスタムインストールからWindowsOSのバージョンに合ったSDK(多くはWindows 10 SDKでしょう)を選択します。

Windows10SoftwearDevelopmentKitをインストールする画面

インストールが成功したらPCを再起動します。

再度、mojimojiをpipインストールすると成功します。

まとめ

  • 変換オプションは3つ。カタカナ、英字、数字。
  • 全角半角、または半角全角の一括置換は、Pandasを使うと一発。
  • mojimojiのインストールはpipコマンド、pip mojimojiで行う。
  • インストールできないときは『Windows 10 SDK』をインストールする必要がある。