見出し画像

[nkf || python] カタカナをひらがなに変換する


したいこと

  1. カタカナの単語のリストがある。

  2. リストを読み込む。

  3. リストのカタカナをひらがなに変換して出力する。

nkf

Linux や MacOS のターミナル,Windows のコマンドプロンプトで使えるコマンドに nkf があります。

nkf のインストール

MacOS の場合,ターミナルで次のように打ち,リターン。

brew install nkf

nkf の使用方法

変換したいカタカナのリストが書かれたファイル tabemono.csv  というファイルがあるとします。中身は次のように,ひとつの単語が行ごとに書かれています。

アオサ
アケビ
アサリ
アズキ
アナゴ
アマゴ
アラレ
アワビ
アンコ
アンズ

ファイルの中身をまず,コマンド cat で出力させます。その出力をパイプ (|)という機能を使って,入力として,nkf に与えます。この場合,カタカナをひらがなに変換したいので,オプションとして,--hiragana と続けます。逆にカタカナに変換したい場合は --katakana とします。

cat tabemono.csv | nkf --hiragana

次のように出力されます。

あおさ
あけび
あさり
あずき
あなご
あまご
あられ
あわび
あんこ
あんず

出力結果をファイルに記録したい場合は,リダイレクト (>) の機能を使えばできます。

cat tabemono.csv | nkf --hiragana > tabemono_hiranaga.csv

リダイレクト (>) の後にファイル名を書けば,そこに出力結果が記録されていきます。

Python で

したいことは一つでも方法はたくさんあります。次に python  を使う方法を紹介しましょう。

jaconv のインストール

jaconv を使います。ターミナルからインストールします。

pip3 install jaconv

インストールに成功すると,最後にSuccessfully installed jaconvと出力されます。

Defaulting to user installation because normal site-packages is not writeable
Collecting jaconv
  Downloading jaconv-0.3.4.tar.gz (16 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: jaconv
  Building wheel for jaconv (setup.py) ... done
  Created wheel for jaconv: filename=jaconv-0.3.4-py3-none-any.whl size=16415 sha256=14b3a23dc8aa8aba2f7b2a637c1adf9d1870924f6d80ae57d02d996fdb9e4edf
  Stored in directory: /Users/yshiba/Library/Caches/pip/wheels/49/de/f1/55f605920db3666d30215331bc85f24686dde9b95b473ae41b
Successfully built jaconv
Installing collected packages: jaconv
Successfully installed jaconv-0.3.4

コード

import jaconv
import sys

with open(sys.argv[1]) as f:
    for line in f:
       print(jaconv.kata2hira(line), end="")

カタカナをひらがなに変えるには,jaconv.kata2hira()を使います。逆の場合は
jaconv.hira2kata(line)でカタカナに変わります。

tabemono.csv というファイルにカタカナの単語のリストがあり,それを読み込んでひらがなに直し出力するコードです。

python3 hiragana.py tabemono.csv 

出力したものを保存したい場合は,nkf のときと同様,リダイレクトを使うと簡単にできます。

python3 hiragana.py tabemono.csv > tabemono-hiragana.csv

おすすめの書籍

昔,愛読していた「たのしいUNIX」。

とてもわかりやすく,とっつきやすい本でした。


いいなと思ったら応援しよう!