Pythonで全角と半角を変換する方法について説明します。全角と半角の変換は、テキストデータの前処理で頻繁に必要となる作業です。Pythonでは、標準ライブラリや外部ライブラリを用いて、簡単に全角と半角の変換が可能です。
英数字の全角・半角変換: str.translate()
str.translate()
は英数字を半角全角に変換できる関数です。標準モジュールのため、インストール等の動作を必要としません。
# 変換テーブルの作成
table = str.maketrans('ABC', 'ABC')
# 変換
'ABC'.translate(table)
unicode正規化で全角・半角を変換: unicodedata.normalize()
unicodedata.normalize()
はunicode正規化を行う関数です。全角・半角や1と①を同じものとして扱うようにすることです。
import unicodedata
text = 'アイウエオアイウエオ①②1212abab'
print(unicodedata.normalize('NFKC', text))
日本語の半角・全角文字を変換する: mojimoji
mojimoji
は日本語の半角・全角文字を変換できる外部ライブラリです。
import mojimoji
text = 'アイウエオアイウエオ1212abab'
print(mojimoji.han_to_zen(text))
print(mojimoji.zen_to_han(text))
全角ひらがなを半角カタカナに変換可能: jaconv
jaconv
はひらがな・カタカナ・全角・半角の文字種変換を高速に行うライブラリです。
import jaconv
text = 'アイウエオアイウエオあいうえお'
print(jaconv.h2z(text)) # 半角を全角に変換
print(jaconv.kata2hira(text)) # カタカナをひらがなに変換
print(jaconv.hira2hkata(text)) # ひらがなを半角カタカナに変換
以上、Pythonで全角と半角を変換する方法について説明しました。これらの方法を活用して、テキストデータの前処理を効率的に行いましょう。