2017-03-13 11 views
9

csv2libsvm.py(https://github.com/zygmuntz/phraug/blob/master/csv2libsvm.py)でcsvファイルを疎フォーマットファイルに変換したいと思います。python csv2libsvm.py:AttributeError: '_csv.reader'オブジェクトに属性 'next'がありません

CSVファイルには、37個の属性+ラベル(最後の列)が含まれています。ヘッダーまたはインデックスは含まれません。 1行目のExp:63651000000.0,63651000000.0,153.1,0,0,0,0,0,0,5,1,0,4,0,0,0,0,0,0,0,0,0 、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,

次のコマンドラインを使用しているとき: python csv2libsvm.py Z. 38 1

data.txtをCSVは、私は次のエラーを得た:

Traceback (most recent call last): 
    File "csv2libsvm.py", line 47, in <module> 
    headers = reader.next() 
AttributeError: '_csv.reader' object has no attribute 'next' 

あなたは問題についてどんな考えを持っていますか?

答えて

23

これが原因のpython 2とPython 3を使用するのpythonである3の組み込み関数next間の違いであり、また、ライン47にnext(reader)代わりのreader.next()を書き、あなたは内のファイルを開く必要がありますテキストモード。したがって、行47をi = open(input_file, 'r')と変更してください。 Pythonの3.xの

+0

使用next(reader)だからcsv2libsvm.py変性:41、I =オープン(INPUT_FILE、 'R') 42 O =、のoutput_file(オープン ' WB」) 44リーダー= csv.reader(I) 46 skip_headers場合:最後のトレースバック(最新のコール):: ファイル「csv2libsvm.py ヘッダ=次の(読者)が、私は次のエラーを持っています"、行54、 label = line.pop(label_index) IndexError:ポップインデックスの範囲外 – Zoya

+0

もう一つの問題です! 'label_index'は各行の要素の数よりも小さくなければなりません。 'label_index'の値を調べてみましょう。バッファインタフェースをサポートしていません「str」は: o.write(NEW_LINE) TypeError例外で、 ファイル「csv2libsvm.py」、57行:トレースバック(最新の呼び出しの最後): – Hossein

+0

はい、私は別のエラーを持っている、あなたに感謝しますだから、私は59行を変更:o.write(バイト(new_line、 'UTF-8'))、それは動作しますが、私はcsvファイルの最後の行にcoreesponds 1行だけを含む疎ファイルを持っている! – Zoya

0

:代わりreader.next()

関連する問題