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

Calcul scientifique Python Discussion :

Tri d'un fichier texte volumineux


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Tri d'un fichier texte volumineux
    Bonjour,

    Je débute avec python et je galère un peu pour trier un grand fichier texte composée de plusieurs lignes.
    Je souhaiterai le trier par date et le format des lignes se présente comme suit:

    CCC!LL!EEEE!EW050034!2016-04-01T04:39:54.000Z!7!1!1!1
    CCC!LL!EEEE!GH676589!2016-04-01T04:39:54.000Z!7!1!1!1
    CCC!LL!EEEE!IJ6758004!2016-04-01T04:39:54.000Z!7!1!1!1

    Pourriez vous m'aider?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    L'affichage est peut-être trompeur: on a l'impression que les lignes ont le même nombre de caractères, mais la dernière ligne en a un de plus. Ce qui fait que le "2016" est décalé.

    Si la structure était identique, c'est à dire que les dates se trouvaient à la même place, on pourrait faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    lignes = [
    "CCC!LL!EEEE!EW050034!2016-04-30T04:39:54.000Z!7!1!1!1",
    "CCC!LL!EEEE!GH676589!2016-02-01T04:39:54.000Z!7!1!1!1",
    "CCC!LL!EEEE!IJ6758004!2015-04-01T04:39:54.000Z!7!1!1!1"
    ]
     
    lignes.sort(key=lambda ligne: ligne[21:31])
    Comme ce n'est pas le cas, on va supposer que les '!' constituent un bon repère pour trouver les dates:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lignes.sort(key=lambda ligne: ligne.split('!')[4])
    A noter: la liste est triée "sur place", ce qui veut dire que "lignes" est désormais la liste triée. Si on veut conserver la liste initiale, il faut utiliser sorted au lieu de sort (voir la doc).
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. accès rapide à un fichier texte volumineux
    Par Shrine dans le forum C++
    Réponses: 2
    Dernier message: 12/03/2007, 16h25
  2. Tri d'un fichier tres volumineux
    Par TonyJ dans le forum Général Java
    Réponses: 6
    Dernier message: 09/02/2007, 14h50
  3. [Fichier Textes]Scruter fichier texte volumineux
    Par hawax dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 18/10/2006, 18h53
  4. tri d'un fichier texte
    Par ben127 dans le forum C
    Réponses: 7
    Dernier message: 23/12/2005, 20h03
  5. Recherche dans un fichier texte volumineux.
    Par Actarus69 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 27/07/2005, 17h39

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