Je souhaite convertir un fichier csv en fichier au format fragmenté avec csv2libsvm.py ( https://github.com/zygmuntz/phraug/blob/master/csv2libsvm.py ).
Le fichier CSV contient 37 attributs + l'étiquette (dernière colonne). il ne contient ni en-tête ni index. Exp de la 1ère ligne: 63651000000.0,63651000000.0,15,0,0,0,0,0,0,0,0,0,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
Lorsque vous entrez la ligne de commande suivante: python csv2libsvm.py Z.csv data.txt 38 1
J'ai eu l'erreur suivante:
Traceback (most recent call last):
File "csv2libsvm.py", line 47, in <module>
headers = reader.next()
AttributeError: '_csv.reader' object has no attribute 'next'
Avez-vous une idée du problème?
Ceci est dû aux différences entre python 2 et python 3. Utilisez la fonction intégrée next
dans python 3. Autrement dit, écrivez next(reader)
au lieu de reader.next()
à la ligne 47. De plus, vous devez ouvrir le fichier en mode texte. Changez donc la ligne 47 comme suit: i = open( input_file, 'r' )
.
Pour Python 3.x:
Utilisez next(reader)
au lieu de reader.next()