Bonjour,
J'ai différents "dumps" au format csv sur lesquels je souhaite filtrer uniquement les enregistrements qui m'intéressent.
C'est un fichier avec header du type :
champ1;champ2; champ3;....champn (n=37)
val1;val2; val3,....valn
val1;val2; val3,....valn
val1;val2; val3,....valn
val1;val2; val3,....valn
...
Selon ma (vieille) logique de programmation, j'avais l'habitude de travailler avec des "records", un par un. Globalement, sur les 20 millions d'enregistrement, je souhaite lire le fichier et n'enregistrer, dans un nouveau fichier, que les enregistrement répondant à deux ou trois règles simples du type :
si champ3 <> champ25 alors
si champ 17 == "nnn" alors
enregistrer
sinon
enregistrement suivant
fs
fs
J'ai regardé différentes options, je suis un peu perdu entre les listes, dictionnaires, etc, sachant que je traite les enregistrement un par un. Le fin du fin serait une boite de dialogue avec tkinter me permettant de sélectionner le fichier en entrée et celui en sortie.
Que me conseilleriez vous, les seuls exemples de dictionnaires trouvés ou de traitement de fichiers csv consistant à tout traiter en mémoire ce qui n'est pas possible compte tenu du volume de données à traiter.
J'ai regardé rapidement numpy et pandas, j'ai été plutôt perdu. Je suis aussi plutôt débutant ++ en python.
par avance merci
TGM
Partager