Questions sur le module CSV
Salut tout le monde :D
Je suis en train de développer un application perso qui gère entre autres un fichier csv, mais je n'arrive pas à trouver certaines fonctionalités.
Tout d'abord j'aimerais savoir s'il est possible de mettre à jour le fichier csv dès qu'une ligne est ajoutée. En ce moment mon programme ne réécrit le fichier qu'une fois terminé et totalement quitté, alors que j'ai besoin d'analyser le csv pendant que le programme doit continuer à tourner et à le remplir..
Ensuite j'aimerais limiter automatiquement le nombre de lignes dans le csv. Je n'ai pas vu de fonction permettant de supprimer une ligne. J'ai en tête d'y parvenir en mémorisant tout le contenu dans une variable pour y traiter le nombre de ligne puis ensuite réécrire le fichier csv en y mettant le bon nombre de lignes. C'est une bonne solution ou je peux faire beaucoup plus simple?
Voici le morceau concerné de mon prog:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
from Tkinter import *
import csv
import os
from random import *
# --- initialisations ----------------
if not os.path.isfile('protolog.csv'):
log_writer = csv.writer(open('protolog.csv','wb')) # cree le fichier si manquant
log_writer.writerow(['colonne1','colonne2'])
print 'nouveau fichier cree'
else:
log_writer = csv.writer(open('protolog.csv','ab')) # prepare le fichier sans l'ecraser
print 'fichier existant ouvert'
# --- definitions --------------------
def ajout_csv_ligne():
global log_writer
log_writer.writerow([str(randint(100,199)),str(randint(200,299))]) # ajout d'une ligne quelconque
print 'ligne ajoutee'
# --- programme ----------------------
root = Tk()
bouton1 = Button(root, text='bouton1', command=ajout_csv_ligne)
bouton1.pack() |