2016-10-20 13 views
0

を「読み取り」私は、私は次のコードを使用し、大きなCSVファイルの私のデータをベクトル化するSklearnを使用したい:Sklearn「str」はオブジェクトが属性を持っていない

まずTRY:

from sklearn.feature_extraction.text import CountVectorizer 

vectorizer = CountVectorizer(input='file', stop_words = 'english', ngram_range=(1,2)) 

vectorizer.fit_transform('test.csv') 

をしかし、私はこのエラーを得た:

はAttributeError:「str」はオブジェクトが属性を持っていない「読み取り」

2回目の試行が、エラーがまだ育った:

import csv 

file = open('test.csv', 'r') 

f = file.readline() 

vectorizer.fit_transform(f) 

第3 TRY:これは機能しましたが、メモリ不足のために殺されました。

大規模なCSVファイルを処理するためにSklearnでfit_transformを使用するにはどうすればよいですか?

答えて

0

file.readline()stringとして、ファイルの最初の行を返します)あなたはfileとして、あなたの入力を考えると、あなたはそれを両方のケースでstringを与えます。

代わりにファイルを指定してください。

次のように実行します。

​​
+0

を少し簡単に解決策は、単に '入力=「file'' - >'入力=」編集することがあるかもしれないfiles''を、そのオブジェクトではなく、ファイル名のリストを期待ファイルオブジェクト – ncfirth

+0

はい、彼は1つのファイルしか持っておらず、ベクタライザは文字列のリストを取得することを期待していませんが、ファイルのリスト( 'file.readlines()'は文字列のリストを返します) – MMF

+0

まだ同じエラーがあります – Kun

関連する問題