Pythonで全角・半角を自在に変換!mojimojiライブラリの活用
プログラミングにおいて、ユーザーからの入力や外部データには全角と半角が混在していることがよくあります。特に日本語を扱うシステムでは、これらの混在が原因で文字列比較がうまくいかない、データ整形が難しいといった問題が発生しがちです。Pythonの**mojimoji**ライブラリを使えば、このような全角・半角変換を簡単に行うことができます。
mojimojiとは?
mojimojiは、Pythonで全角と半角の文字を相互に変換するための軽量なライブラリです。数字、アルファベット、記号、カタカナなど、さまざまな種類の文字に対応しています。外部ライブラリのため、事前にインストールが必要です。
インストール方法
コマンドプロンプトやターミナルで以下のコマンドを実行します。
pip install mojimoji
mojimojiを使った変換の基本
mojimojiには主に以下の関数があります。
-
zen_to_han(): 全角から半角へ変換 -
han_to_zen(): 半角から全角へ変換
全角から半角への変換
import mojimoji
text_zen = "ABCDEFG12345あいうえおカキクケコ"
text_han = mojimoji.zen_to_han(text_zen)
print(text_han)
# 出力: ABCDEFG12345あいうえおカキクケコ (カタカナは半角カタカナに変換)
半角から全角への変換
import mojimoji
text_han = "ABCDEFG12345アイウエオカキクケコ"
text_zen = mojimoji.han_to_zen(text_han)
print(text_zen)
# 出力: ABCDEFG12345アイウエオカキクケコ (カタカナは全角カタカナに変換)
特定の種類のみを変換する
zen_to_han()やhan_to_zen()関数には、変換する文字の種類を指定する引数があります。これにより、数字だけ、カナだけ、といった柔軟な変換が可能です。
特定の文字種のみを変換する例
zen_to_han()の例:
-
kana=False: カナの変換を行わない -
ascii=False: ASCII文字(英数字、記号)の変換を行わない -
digit=False: 数字の変換を行わない -
h2z=True: 半角カナを全角に変換する (zen_to_hanでも可能)
import mojimoji
# 数字のみを半角に変換
text = "令和5年12月31日"
result = mojimoji.zen_to_han(text, kana=False, ascii=False)
print(f"数字のみ半角: {result}")
# 半角カタカナを全角に変換
text_han_kana = "スーパーマーケット"
result_zen_kana = mojimoji.han_to_zen(text_han_kana, ascii=False, digit=False)
print(f"半角カナを全角: {result_zen_kana}")
mojimojiは、文字列の正規化やユーザー入力のサニタイズなど、幅広い場面で役立つライブラリです。データ処理の効率化と信頼性向上にぜひ活用してください。
■プロンプトだけでオリジナルアプリを開発・公開してみた!!
■AI時代の第一歩!「AI駆動開発コース」はじめました!
テックジム東京本校で先行開始。
■テックジム東京本校
「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。
<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。
<月1開催>放送作家による映像ディレクター養成講座
<オンライン無料>ゼロから始めるPython爆速講座



