Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6130 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Consultation et téléchargement web

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Consultation et téléchargement web

n°705109
alexb
Posté le 21-04-2004 à 15:35:13  profilanswer
 

J'ai un fichier xls dont les données sont rangées en 2 colonnes :
chaîne à gauche et entier à droite.
J'utilise le module Spreadsheet::ParseExcel pour lire ce type de fichiers.
Je souhaite stocker mes données dans une table associative avec comme clés  les chaînes de la colonnne de gauche mais ça ne marche pas !
J'ai donc crée une fonction qui prend pour argument le nom du fichier xls et renvoie la table de hash :
 

Code :
  1. sub lirePos
  2.   {
  3.    # Nom du fichier xls
  4.    my $nom_fichier = @_;
  5.    # Création d'une Hashtable pour stocker les positions des gènes
  6.    my %gene_Pos = ();
  7.    my $oExcel = new Spreadsheet::ParseExcel;
  8.    if (defined(my $classeur = $oExcel->Parse($nom_fichier)))   {
  9.    #classeur qui peut être composé de +sieurs feuilles
  10.    my($noLigne, $noCol, $hdlFeuille, $colMin , $hdlCelluleGene, $hdlCellulePos);
  11.  
  12.    #on ne traite que la 1ère feuille:
  13.    $hdlFeuille = $classeur->{Worksheet}[0];
  14.    $colMin = $hdlFeuille->{MinCol};
  15.       for(my $noLigne = $hdlFeuille->{MinRow}+1 ;   defined $hdlFeuille->{MaxRow} && $noLigne <= $hdlFeuille->{MaxRow} ; $noLigne++) {
  16.  
  17.          $hdlCelluleGene = $hdlFeuille->{Cells}[$noLigne][$colMin];
  18.  $hdlCellulePos = $hdlFeuille->{Cells}[$noLigne][$colMin+1];
  19.          if($hdlCelluleGene && $hdlCellulePos)   {
  20.             # Remplissage de la Hashtable
  21.     $gene_Pos{$hdlCelluleGene} = $hdlCellulePos;
  22.          }
  23.          else   {
  24.             print  "Erreur : ligne mal formée !" ;
  25.          }
  26.      
  27.        }# End of for
  28.  
  29.    } # End of if
  30.    return %gene_Pos;
  31.   }


Si quelqu'un a une idée ?  :wahoo:  

mood
Publicité
Posté le 21-04-2004 à 15:35:13  profilanswer
 

n°705112
alexb
Posté le 21-04-2004 à 15:38:03  profilanswer
 

désolé, il y a eu une erreur avec le titre; ça devait être "fichier xls + Hashtable"

n°707175
sire de Bo​tcor
Armorican way of life
Posté le 23-04-2004 à 14:53:28  profilanswer
 

tu peux éditer le titre :
http://forum.hardware.fr/icones/edit.gif

n°707863
pospos
Posté le 24-04-2004 à 22:22:54  profilanswer
 

difficile de tester ta sub sans les données mais c'est peu etre cette erreur qui te bloque:
 
"my $nom_fichier = @_; "
 
la tu va recuperer dans my $nom_fichier le nombre d'arguments passés...
 
donc il te faut faire:
my ($nom_fichier) = @_;  
ou:
my $nom_fichier = shift;


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Consultation et téléchargement web

 

Sujets relatifs
[php] Forcer le téléchargement d'une imageRequettes ou Tableaux pour site de consultation résultats sportives
[PHP] Compteurs de téléchargementmaven et probleme de telechargement
probleme lors de telechargementpage de téléchargement
[VB][Access] Téléchargement PowerAMC?Limite de téléchargement....
Téléchargement de php et postgreSQLForcer le téléchargement d'un fichier txt ou html
Plus de sujets relatifs à : Consultation et téléchargement web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)