Bonjour,

Débutant, je souhaite modifier le contenu d'un fichier CSV.

Le principe est le suivant : à partir du fichier source après avoir remplacer des caractères "polluant" mon fichier je souhaite insérer toutes les 66 fois que je compte des ';' un retour à la ligne. Pour cela j'ai créé le bout de code pas pythonesque j'en convient ! ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python
 
pos,c = 0,0
text=  file('test.csv','U').read().replace(' Code raison du bris', 'Code raison du bris') # U permet d'utiliser des retours ? la ligne conventionnels
text=  file('test.csv', 'U').read().replace('\n', '') # U permet d'utiliser des retours ? la ligne conventionnels
#longueur du texte
long = len (text)
#nombre de ;
pv = text.count(';')
while pos<long:
    if text[pos]==';':
        print pos
        c=c+1
        if c==66:
            text.insert(c,'\n')
    pos = pos +1
file('test_a.csv', 'w').write(text)
mais je n'arrive pas à insérer le retour chariot j'ai le message suivant que je n'arrive pas à résoudre :

Traceback (most recent call last):
File "C:\Documents and Settings\jouclar\Bureau\EXRACTION\SupprimerLF.py", line 25, in <module>
text.insert(c,'\n')
AttributeError: 'str' object has no attribute 'insert'
Merci de votre aide