Python PR

【Python】日本語のテキストをひらがな、カナ、ローマ字に変換する

記事内に商品プロモーションを含む場合があります

この記事では、Python で漢字を含めた日本語のテキストをひらがな、カナ、ローマ字に変換する方法を紹介します。

変換するには pykakasiライブラリを使うと簡単に実現することができます。

pykakasi - GitHub

pykakasiのインストール

pykakasi は、外部ライブラリなので pip を使ってインストールします。

pip install pykakasi

pip のインストール

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