python csv2libsvm.py:AttributeError:'_ csv.reader'对象没有属性'next'

时间:2017-03-13 15:20:12

标签: python csv libsvm

我想用csv2libsvm.py(https://github.com/zygmuntz/phraug/blob/master/csv2libsvm.py)将csv文件转换为稀疏格式文件。

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.csv data.txt 38 1

我收到以下错误:

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

你对这个问题有什么看法吗?

2 个答案:

答案 0 :(得分:52)

这是因为python 2和python 3之间存在差异。在python 3中使用内置函数next。也就是说,在第47行写next(reader)而不是reader.next()此外,您应该以文本模式打开文件。因此,将第47行更改为i = open( input_file, 'r' )

答案 1 :(得分:18)

对于Python 3.x:

使用next(reader)代替reader.next()