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

Langage Perl Discussion :

ouverture gros fichier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut ouverture gros fichier
    Bonjour à tous,
    J'ai besoin d'ouvrir un gros fichier texte (365Mo) avec un script perl, le probleme c'est que ça me met mon serveur à genoux...Connaissez vous un moyen de le faire par "bloc" sans avoir à découper le fichier au préalable ?
    Merci pour votre aide et bonne journée...

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Que fais ton programme d'une ligne qu'il lit dans le fichier exactement ? Charge-t-il l'intégralité du fichier en mémoire ?

  3. #3
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    tu le lis ligne par ligne?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    le prog charge la totalité du fichier dans une variable avec un :
    open(my $fd, '>','fichier');
    my $content=do {local$/;<$fd>};
    Je split ensuite le contenu pour alimenter une table...
    Et justement, y'a-t-il un moyen de traiter le contenu du fichier par blocs sans avoir à découper mon fichier avant ?

  5. #5
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    tu n'ouvres pas ton fichier en lecture? Je code habituellement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    open READER, "< $fichier" 
    while ($ligne = <READER>)
    {...}
    et du coup je traite ligne par ligne et je ne crois pas que tout le fichier soit charge. Mais ce n'est qu'une impression, car je n'ai pas eu l'occasion de tester vraiment...
    Apres, cela depend des traitements que tu fais dessus, il y a peut etre moyen de contourner.

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Citation Envoyé par remixade
    le prog charge la totalité du fichier dans une variable avec un :
    open(my $fd, '>','fichier');
    my $content=do {local$/;<$fd>};
    Je split ensuite le contenu pour alimenter une table...
    Et justement, y'a-t-il un moyen de traiter le contenu du fichier par blocs sans avoir à découper mon fichier avant ?
    Cherche pas plus loin : tout ton fichier est chargé en mémoire et ça surcharge ton serveur

    As-tu moyen de traiter les données ligne par ligne ? Ce serait plus simple pour toi.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    merci pour ces réponses, mais justement, je ne peux pas traiter le fichier ligne par ligne puisque je fait un split dessus en fonction de certains motifs...
    Bonne journée à tous...

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/10/2009, 14h46
  2. Réponses: 5
    Dernier message: 05/05/2006, 15h08
  3. Un langage pour lire, traiter et écrire de gros fichiers
    Par March' dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 07/04/2003, 15h26
  4. Réponses: 2
    Dernier message: 26/02/2003, 15h18
  5. [VBA-E] Evenement ouverture de fichier
    Par gjeff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/12/2002, 09h42

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