Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

python

csv

libsvm

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 ?

like image 363
Zoya Avatar asked Mar 13 '17 15:03

Zoya


2 Answers

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' ).

like image 139
Hossein Avatar answered Sep 19 '22 07:09

Hossein


For Python 3.x:

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

like image 20
Shujat Munawar Avatar answered Sep 19 '22 07:09

Shujat Munawar