この記事では、Python で漢字を含めた日本語のテキストをひらがな、カナ、ローマ字に変換する方法を紹介します。
変換するには pykakasiライブラリを使うと簡単に実現することができます。
pykakasi - GitHub
スポンサーリンク
pykakasiのインストール
pykakasi は、外部ライブラリなので pip を使ってインストールします。
pip install pykakasi
pykakasiの使い方
pykakasiライブラリ は、以下の手順で使用します。
-
STEP1インポートまずは、インポートします。
import pykakasi -
STEP2インスタンス化
kakasiクラス のインスタンスを生成します。import pykakasi kks = pykakasi.kakasi() -
STEP3変換
kakasiクラス のインスタンスからconvert()メソッド を呼び出し、引数に変換したい日本語のテキストを渡す。import pykakasi kks = pykakasi.kakasi() result = kks.convert(なんらかのテキスト)結果はリストとして返されます。
-
STEP4取得
convert()メソッド によって返されたリストの中には、単語単位でひらがな、カナ、ローマ字に変換された結果が辞書として格納されています。なので、
for文などを使って結果を取得します。for item in result: print(f'原文: {item["orig"]}, ひらがな: {item["hira"]}, カナ: {item["kana"]}, ローマ字: {item["hepburn"]}')
では、試しに簡単な文章を変換してみます。
import pykakasi # 適当な日本語のテキスト text = 'パソコンの使いすぎで目が痛い' # インスタンス化 kks = pykakasi.kakasi() # 変換 result = kks.convert(text) for item in result: print(f'原文: {item["orig"]}, ひらがな: {item["hira"]}, カナ: {item["kana"]}, ローマ字: {item["hepburn"]}')
実行結果
原文: パソコン, ひらがな: ぱそこん, カナ: パソコン, ローマ字: pasokon 原文: の, ひらがな: の, カナ: ノ, ローマ字: no 原文: 使い, ひらがな: つかい, カナ: ツカイ, ローマ字: tsukai 原文: すぎで, ひらがな: すぎで, カナ: スギデ, ローマ字: sugide 原文: 目, ひらがな: め, カナ: メ, ローマ字: me 原文: が, ひらがな: が, カナ: ガ, ローマ字: ga 原文: 痛い, ひらがな: いたい, カナ: イタイ, ローマ字: itai
文として取得する
変換結果を文として取得したい場合、文字列の joinメソッド と 内包表記を使うと簡単です。
print(''.join([item['hira'] for item in result])) print(''.join([item['kana'] for item in result])) print(''.join([item['hepburn'] for item in result]))
実行結果
ぱそこんのつかいすぎでめがいたい パソコンノツカイスギデメガイタイ pasokonnotsukaisugidemegaitai
ローマ字の場合は、空白を入れておくと見やすくなる。
print(' '.join([item['hepburn'] for item in result]))
実行結果
pasokon no tsukai sugide me ga itai


