[python] lecture csv :line contains NULL byte

Fermé
cedric1989 Messages postés 257 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 25 octobre 2012 - 5 août 2008 à 13:38
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 5 août 2008 à 15:13
Bonjour,

Je possède une ceintaine de fichier csv, et je dois faire un script permettant d'effectuer rapidement des opération sur ces fichiers.
Le format ressemble à du csv, avec tabulation comme séparateur.
Le problème c'est que quand j'execture le script la :
for line in csv.reader(open(fileName,"rb"), dialect = csv.excel_tab):
    print line

ça ne peut lire que les première lignes, voici ce que ça affiche :
>>>
['ligne1']
['ligne2']
['ligne3']
['ligne4']
[]
Traceback (most recent call last):
File "G:\ecole\ArcelorMittal\projets\projet02(dataPilote)\script perso\scriptPy.py", line 17, in <module>
for line in csv.reader(open(fileName2,"rb"), dialect = csv.excel_tab):
Error: line contains NULL byte

Au début je pensait que ce n'était pas vraiment du csv, donc je l'ai ouvert avec excel, et enregistré en csv, mais le problème était toujours le même. Quelqu'un sait ce que je pourrai faire ?

Merci d'avance

10 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 654
5 août 2008 à 14:09
c'est pas du vrai csv, ç'est juste que ça ressemble.

Ben alors c'est normal que le module CSV plante, non ?

Ou alors il faudrait faire un pré-traitement avant de le donner à manger au module CSV.

On ne peut pas t'aider tant qu'on ne connaît pas les particularités de ton fichier.
1