python csv2libsvm.py: AttributeError: '_csv.reader' object has no attribute 'next'

PythonCsvLibsvm

Python Problem Overview


I want to convert a csv file into sparse format file with csv2libsvm.py (https://github.com/zygmuntz/phraug/blob/master/csv2libsvm.py).

The CSV file contains 37 attributes + the label (last column). it doesn't contain header or index. Exp of the 1st row: 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

When entring the following command line : python csv2libsvm.py Z.csv data.txt 38 1

I got the following error:

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

Do you have any idea about the problem ?

Python Solutions


Solution 1 - Python

This is because of the differences between python 2 and python 3. Use the built-in function next in python 3. That is, write next(reader) instead of reader.next() in line 47. In addition, you should open the file in the text mode. So, change line 47 as i = open( input_file, 'r' ).

Solution 2 - Python

For Python 3.x:

Use next(reader) instead of reader.next()

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionZoyaView Question on Stackoverflow
Solution 1 - PythonHosseinView Answer on Stackoverflow
Solution 2 - PythonShujat MunawarView Answer on Stackoverflow