Se connecter / S'enregistrer
Votre question

Python-->Changer des ';' dans un .csv pour des ','

Tags :
  • chaine
  • Programmation
Dernière réponse : dans Programmation
21 Novembre 2007 17:09:11

Voici mon problème:

>>>import csv
>>>cr=csv.reader(open("test.csv","rb"))
>>>for row in cr:
a=row[37]
b=','
c+=a+b

Il dit qu'il y a aucune valeur dans la colonne 37 et pourtant,il en a!
Puis, j'ai remarqué qu'il faut que je change dans le .csv les ';' en ','
pour que ça fonctionne.

Il aurait tu une façon de changer toutes les points-virgule en virgule sans utiliser le remplacer... du notepad. Parce que j'ai trop de colonne et ça gèle quand je fais ça!

Merci! :hello: 

Autres pages sur : python changer csv

a b L Programmation
21 Novembre 2007 20:31:43

si tu regardes les options, tu verras que le délimiteur par défaut est ',', mais tu peux le changer:
http://docs.python.org/lib/csv-fmt-params.html

si tu n'utilise que des délimiteurs ';' utiliser l'option cr=csv.reader(open("test.csv","rb" ), delimiter=';').

Maintenant, si tu as un mélange des 2, tu peux effectivement lire le fichier (par exemple avec f.readlines()) faire les remplacements sur les chaines de caractères chaine.replace(';', ','), et réenregistrer le tout.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS