やりたいこと
pythonでファイルを一行ずつ読み込み処理をしたいです。そこでreadlinesを使おうと思うのですがAttributeError: 'list' object has no attribute 'strip'というエラーが出てしまいます。
read()の時は読み込めます。
ソースコード
python
1import json 2import codecs 3from janome.tokenizer import Tokenizer 4 5t=Tokenizer() 6page = codecs.open('page.jl','r','utf-8') 7text = page.readlines() 8result = open('result.txt','w') 9tokens = t.tokenize(text) 10for token in tokens: 11 print(token) 12 result.write(str(token)) 13 result.write('\n') 14page.close()
エラーメッセージ
>python word.py Traceback (most recent call last): File "word.py", line 10, in <module> tokens = t.tokenize(text) File "C:\Users\ogawa\Anaconda3\envs\abst\lib\site-packages\janome\tokenizer.py", line 204, in tokenize return list(self.__tokenize_stream(text, wakati, baseform_unk, '')) File "C:\Users\ogawa\Anaconda3\envs\abst\lib\site-packages\janome\tokenizer.py", line 207, in __tokenize_stream text = text.strip() AttributeError: 'list' object has no attribute 'strip'
追記
text = page.readlines()のあとにprint(text)をうつと読み込むファイルpage.jlの中身がそのまま出てきます。page.jlのなかみは日本語のニュースサイトの記事本文です
print(type(text))で型を調べるとリスト型でした
エラーについてはtokenizeにリスト型を入れたからだとわかりました。
リストの中身をひとつづつtokenizeに渡したいです。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/29 13:04
2019/07/29 13:40
2019/07/29 13:42
退会済みユーザー
2019/07/29 20:43