python 2.7 - CountVectorizer错误:AttributeError:'file'对象没有属性'lower'

时间:2015-02-16 15:41:52

标签: python nlp scikit-learn

f1 = open("C:\\Users\\Keshav\\Desktop\\iHeal\\data1\\black_and_white\\1_1.dat","r")
f2 = open("C:\\Users\\Keshav\\Desktop\\iHeal\\data1\\black_and_white\\1_2.dat","r")
list1=[]
list1.append(f1)
list1.append(f2)
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer(list1)
X_train_counts = count_vect.fit_transform(list1)
print X_train_counts

我试图读取一组文件并在其上实现CountVectorizer。

因此list1包含一个附加在其中的文件对象列表。

结果输出为:

AttributeError: 'file' object has no attribute 'lower'

我查看了这个link - 我也将list1作为参数传递给了构造函数。错误仍然存​​在。

如何正确地将文件对象列表传递给CountVectorizer方法并获取矩阵?

1 个答案:

答案 0 :(得分:1)

根据the documentation,在您的情况下,应该使用设置为' file'的输入参数初始化Vectorizer。因此:

count_vect = CountVectorizer(input="file")
X_train_counts = count_vect.fit_transform(list1)