【Python】日本語からローマ字に変換
こんにちは。あぽろんです。
Pythonでツールを作っていると、日本語からローマ字に変換する機会があったので紹介します。
変換にはpykakasiというライブラリを使います。
✦ インストール方法
ターミナルで以下を実行します。
pip install pykakasi
✦ コード
import pykakasi
kakasi = pykakasi.kakasi()
text = 'サンプル'
data = kakasi.convert(text)
result = ''.join([d.get('kunrei') for d in data])
print(result)
以下の結果が返ってきます。
おしまい。
ロジックを知りたい人は、続きも読んでみてください。
✦ 解説
まず、オブジェクトを生成します。
kakasi = pykakasi.kakasi()
今回は 「サンプル」 というテキストをローマに変換します。
text = 'サンプル'
次に、convert関数を使って日本語からローマ字へ変換したデータを取得します。
data = kakasi.convert(text)
データは以下のように、リストの中に辞書型データが入った形で返されます。
変換形式は ヘボン式、訓令式、パスポート(旧ヘボン式) の3つがあるようです。
最後に、リストの中にある辞書型データから、任意のキーの値を取り出します。※今回は訓令式です。
result = ''.join([d.get('kunrei') for d in data])
get関数で辞書型データから任意のキーの値を取り出し、join関数でリストを連結しています。
✦ 余談
pykakasiって変な名前ですよね。かかし要素どこ…?