Je souhaite écrire plusieurs lignes dans un fichier CSV, mon problème c'est que le script n'ajoute que la dernière ligne dans mon fichier (je suis sous python 3.4)
Voici mon code :
import os import glob import os.path from pathlib import Path from glob import glob from os.path import join import csv
def lectureFILE_USER(fullPath, nameFILE, rep): fichier=open(fullPath, 'r'); while 1: txt=fichier.readline() if txt =='' : break if txt[0] !='#' and txt[0] !='\n' : liste = [] liste.append(rep) liste.append(nameFILE) ligne=txt.split() liste.append(txt) ecrireCSV(liste)
fichier.close()
def lectureDIR(mypath, rep): for path, dirs, files in os.walk(mypath): for f in files: fullpath = os.path.join(path, f) nameFILE = os.path.basename(fullpath) lectureFILE_USER(fullpath, nameFILE, rep)
for rep in os.listdir(PATH): chemin = os.path.join(PATH, rep) lectureDIR(chemin, rep)
Ce n'est pas tant qu'il écrit que la dernière ligne, mais plutôt qu'il écrase à chaque fois ton fichier dès que tu écris une ligne. Utilise l'argument "a" au lieu de "w" dans ta méthode open() quand tu écris.
Ecrire lignes dans un fichier CSV
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.