IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Téléchargez Python Discussion :

Suppression de doublons dans un fichier type texte


Sujet :

Téléchargez Python

  1. #1
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 817
    Points : 7 110
    Points
    7 110
    Par défaut Suppression de doublons dans un fichier type texte
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Suppression de doublons dans un fichier type texte

    Je vois souvent des questions se rapportant à la suppression de doublons dans des fichiers dont l'extension est txt ou csv...



    Voici deux fonctions:



    -> ListSupDoublons respectant l'ordre des lignes du fichier, retournant un générateur

    -> SetSupDoublons ne respectant pas l'ordre des lignes du fichier, mais retournant un résultat plus efficace

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import os.path
    import sys
     
    # Suppression des doublons en respectant l'ordre des lignes du fichier
    def ListSupDoublons(path):
        '''chemin du fichier où supprimer les doublons'''
     
        if not os.path.isfile(path):
            sys.exit("Le chemin {} spécifié n'est pas un fichier".format(path))
     
        s = list()
     
        with open(path, 'r') as f:
            for line in f:
                if line.strip('\n') and line not in s:
                    s.append(line)
                    yield line
     
    # Suppression des doublons plus efficace, mais sans respecter l'ordre des lignes du fichier
    def SetSupDoublons(path):
        '''chemin du fichier où supprimer les doublons'''
     
        if not os.path.isfile(path):
            sys.exit("Le chemin {} spécifié n'est pas un fichier".format(path))
     
        s = set()
     
        with open(path, 'r') as f:
            for line in f:
                if line.strip('\n'):
                    s.add(line)
     
        return s
     
    # Utilisation des deux fonctions
    for line in SetSupDoublons('test.txt'):
        print(line)
    En espérant que cela vous aidera dans le début de vos projets...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    315
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 315
    Points : 243
    Points
    243
    Par défaut Supprimer les doublons
    Bonjour fred1599,
    Ton script a pour objectif de supprimer les doublons contenu dans un fichier.
    Je l'ai testé avec des mots et des phrases.
    Le contenu du fichier source s'affiche à l'écran, le script ne modifie pas le texte original.

    Ou visualise-t-on le résultat ?

Discussions similaires

  1. [WD17] Suppression doublons dans un fichier texte de plus de 1 Go
    Par zouzoukha dans le forum WinDev
    Réponses: 47
    Dernier message: 25/07/2012, 08h19
  2. Vérifier les doublons dans un fichier texte
    Par Shyboy dans le forum Langage
    Réponses: 2
    Dernier message: 11/07/2007, 09h34
  3. Suppression de lignes dans un fichier texte
    Par Isa31 dans le forum Langage
    Réponses: 16
    Dernier message: 26/01/2006, 20h07
  4. recherche de doublons dans un fichier texte
    Par portu dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 07/10/2003, 14h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo