Bonjour
J'ai un fichier csv avec plusieurs lignes et je souhaiterais en remplacer une par une autre
Sachant que par exemple je souhaite remplacer la 2eme ligne de mon fichier comment dois-je faire?
SVP
Merci d'avance
Version imprimable
Bonjour
J'ai un fichier csv avec plusieurs lignes et je souhaiterais en remplacer une par une autre
Sachant que par exemple je souhaite remplacer la 2eme ligne de mon fichier comment dois-je faire?
SVP
Merci d'avance
Bonjour,
Si c'est pour faire ça une seule fois, le plus simple est d'utiliser... un éditeur de texte.
Si c'est pour faire ça dans le cadre d'un programme, il n'y a pas d'autre solution que de lire de fichier, et de l'écrire sur disque après avoir appliqué les modifications voulues. En effet, comme les lignes n'ont pas une longueur identique en octets, on ne peut pas modifier une ligne en particulier en y accédant directement.
Principe du code (adapter si nécessaire l'encodage du fichier):
Code:
1
2
3
4
5
6
7
8
9
10 lignes = [] with open("monfichier.csv", "r", encoding="utf-8") as fs: for ligne in fs: lignes.append(ligne.rstrip()) # rstrip supprime la fin de ligne ... appliquer les modifs aux lignes de la liste "lignes" ... with open("monfichier_modif.csv", "w", encoding="utf-8") as fd: for ligne in lignes: fd.write(ligne + "\n")
D'accord donc on doit écraser le fichier
Merci pour votre réponse