前提・実現したいこと
以下のサイトを参考にしながら単語の出現回数をpythonでカウントするプログラムを書いています。
参考サイト
発生している問題・エラーメッセージ
実行したところ、以下のエラーが出ました。
参考のコードと比較して何が問題なのでしょうか。
修正するためのアドバイスをいただきたいです。
--------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) <ipython-input-4-318f4806d0b0> in <module>() 1 f = open('sample.txt') ----> 2 data = f.read() 3 4 # counting 5 words = {} ~/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/codecs.py in decode(self, input, final) 319 # decode input (taking the buffer into account) 320 data = self.buffer + input --> 321 (result, consumed) = self._buffer_decode(data, self.errors, final) 322 # keep undecoded input until the next call 323 self.buffer = data[consumed:] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
txtファイルの中身は1列のみで空白のないexcelファイルからtxtファイルに書き出したのですが、書き出したtxtファイルを見て見ると単語と単語の間に大きな空白がある状態で書き出されていました。
sample.txt
りんご いちご りんご
該当のソースコード
python
1f = open('sample.txt') 2data = f.read() 3 4# counting 5words = {} 6for word in data.split(): 7 words[word] = words.get(word, 0) + 1 8 9# sort by count 10d = [(v,k) for k,v in words.items()] 11d.sort() 12d.reverse() 13for count, word in d[:20]: 14 print (count, word)
補足情報(FW/ツールのバージョンなど)
Microsoft Excel for Mac バージョン16.13
Python 3.6.3
オペレーティングシステム名(os.name):Mac OS X
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/06/05 21:43
退会済みユーザー
2018/06/05 21:59