![](/img/trans.png)
[英]Python - Error - AttributeError: '_io.TextIOWrapper' object has no attribute 'insert'
[英]AttributeError: '_io.TextIOWrapper' object has no attribute 'decode'
我正在尝试读取多个文本文件,进行分词(使用jieba
),然后将结果分别保存到CSV文件中。 表明
AttributeError: '_io.TextIOWrapper' object has no attribute 'decode'
感谢任何人的帮助。
python代码是:
import jieba
import csv
import glob
list_of_files = glob.glob('C:/Users/user/Desktop/speech./*.txt')
for file_name in list_of_files:
FI = open(file_name, 'r')
FO = open(file_name, 'w')
seglist = jieba.cut(FI, cut_all=False)
w = csv.writer(FO)
w.writerows(seglist)
FI.close()
FO.close()
似乎您需要发送要剪切的字节而不是文件对象
请尝试以下代码:
list_of_files = glob.glob('C:/Users/user/Desktop/speech./*.txt')
for file_name in list_of_files:
with open(file_name, 'rb') as f:
text = f.read()
seglist = jieba.cut(text, cut_all=False)
with open(file_name, 'w') as f:
w = csv.writer(f)
w.writerows(seglist)
从我从源代码中获得的示例和jieba.cut定义的内容jieba.cut
, jieba.cut似乎需要字符串作为参数。
但是您要提供file
的实例。
seglist = jieba.cut(FI.read(), cut_all=False)
从我看到的问题修复了该问题。 ( FI.read()
是解决方案 )。
顺便说一句,不要调用像FI
/ FO
这样的变量,这是常量或类的有效名称,但不是变量。
显式胜于隐式 :喜欢像file_output
和file_input
这样的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.