***** FULL CODE ******解析日本のPython
私は、Pythonを使用して、いくつかの日本語コードを解析しようとしています(バージョン3.5.3)とMacOSの上MeCabライブラリで編集。
私は、次のテキストを持つテキストファイルがあります:私は、UTF-8を使用して保存するために私のテキストエディット上で私の好みを設定
石の上に三年
を。だから私はシステムがutf-8形式で正しく保存していると信じています。
Traceback (most recent call last): File "japanese.py", line 29, in <module>
words = extractMetadataFromTXT(fileName) File "japanese.py", line 14, in extractMetadataFromTXT
md = extractWordsJP(data) File "japanese.py", line 22, in extractWordsJP
components.append(parsed.surface) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte
ベローは私の完全なコードを行く:
は、私は次のエラーを得ました。欠けているものはありません。import MeCab
import nltk
from nltk import *
from nltk.corpus import knbc
mt = MeCab.Tagger("-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd")
wordsList = knbc.words()
fdist = nltk.FreqDist(w.lower() for w in wordsList)
def extractMetadataFromTXT(filePath):
with open(filePath, 'r', encoding='utf-8') as f:
data = f.read()
print(data)
md = extractWordsJP(data)
print(md)
return md
def extractWordsJP(wordsJP):
components = []
parsed = mt.parseToNode(wordsJP)
while parsed:
components.append(parsed.surface)
parsed = parsed.next
return components
if __name__ == "__main__":
fileName = "simple_japanese.txt"
words = extractMetadataFromTXT(fileName)
print(words)
このエラーメッセージが表示される理由は何ですか?
面白い事実:ときどき動作します。 :O事前に
おかげで、
イスラエル
このエラーは、エンコードの問題によってのみ発生する可能性があります。そのため、テキストエディットの設定が正しく動作しなかった可能性があります。シェルから、 'cd'を入力ファイルのあるディレクトリに移動し、' file simple_japanese.txt'と打ちます。それは 'UTF-8 Unicode text'と言うべきです。 – polm23