at_yasu's blog

ロード的なことを

pythonで和布蕪

MeCabで解析をしようと、pythonでごにょごにょいじっていたのですが、文字コードでなかなか上手くいかずハマってました。

で、どうもMeCabはEUC-JPで解析をするようにコンパイルしてしまったため、UTF-8のまま流し込もうとしたら失敗。

オプションで強制的にUTF-8で解析するようにする方法がわからなかったので、一度 EUC-JPに直して解析し、UTF-8にデコード。


一定用途な為、cmecabを使ってます。ありがとうございます。

以下サンプル。

#!/usr/bin/env python2.5
# -*- encoding:utf-8 -*-

import cmecab
import sys

l = u"リスト内に不必要な要素があり、それを消したい。"
m = cmecab.cmecab("")
res = m.parse(l.encode('euc-jp'))
arr = []
for item in res:
	print (item['surface'].decode('euc-jp').encode('utf-8'))