この記事では、Python で漢字を含めた日本語のテキストをひらがな、カナ、ローマ字に変換する方法を紹介します。
変換するには pykakasi
ライブラリを使うと簡単に実現することができます。
pykakasi
は、外部ライブラリなので pip
を使ってインストールします。
pip install pykakasi
pykakasi
ライブラリ は、以下の手順で使用します。
import pykakasi
kakasi
クラス のインスタンスを生成します。 import pykakasi
kks = pykakasi.kakasi()
kakasi
クラス のインスタンスから convert()
メソッド を呼び出し、引数に変換したい日本語のテキストを渡す。
import pykakasi
kks = pykakasi.kakasi()
result = kks.convert(なんらかのテキスト)
結果はリストとして返されます。
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