PERL - extraire données d'un txt
Polux100
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
bonjour a tous,
je travaille sur des fichiers textes dont je dois extraire traiter et restocker des données.
j'utilise Perl et je me demande si quelqu'un pourrait me conseiller et me donner des pistes.
chaque ligne de mon fichier ressemble à:
1.AA 152.25
2.AH 25.26
je voudrai extraire d'une part le premier chiffre (ou nombre), le groupement de lettre, et enfin la valeur décimale.
Je pensais ensuite mettre tout ca dans un tableau à plusieurs colonnes pour traiter ces données.
comment puis je extraire chaque partie m'interessant dasn chaque ligne?
merci d'avance
je travaille sur des fichiers textes dont je dois extraire traiter et restocker des données.
j'utilise Perl et je me demande si quelqu'un pourrait me conseiller et me donner des pistes.
chaque ligne de mon fichier ressemble à:
1.AA 152.25
2.AH 25.26
je voudrai extraire d'une part le premier chiffre (ou nombre), le groupement de lettre, et enfin la valeur décimale.
Je pensais ensuite mettre tout ca dans un tableau à plusieurs colonnes pour traiter ces données.
comment puis je extraire chaque partie m'interessant dasn chaque ligne?
merci d'avance
A voir également:
- PERL - extraire données d'un txt
- Fuite données maif - Guide
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Extraire image pdf - Guide
- Supprimer les données de navigation - Guide
6 réponses
Salut,
tu peux essayer avec les fonctions suivantes :
index : qui recheche la première occurrence d'une chaine dans une autre (ici, tu pourrais chercher '.' comme séparateur)
substr : qui extrait une chaine d'une autre
le principe serait de chercher le premier '.', d'extraire tout ce qui est à gauche de ce point, récupérer la partie droite, chercher l'espace, récupérer tout ce qui est à gauche, récupérer la partie droite, chercher le '.' et prendre ce qui est à droite
Lami20j te proposera sûrement plus rapide (mais beaucoup plus illisible, à mon avis...:-))).
tu peux essayer avec les fonctions suivantes :
index : qui recheche la première occurrence d'une chaine dans une autre (ici, tu pourrais chercher '.' comme séparateur)
substr : qui extrait une chaine d'une autre
le principe serait de chercher le premier '.', d'extraire tout ce qui est à gauche de ce point, récupérer la partie droite, chercher l'espace, récupérer tout ce qui est à gauche, récupérer la partie droite, chercher le '.' et prendre ce qui est à droite
Lami20j te proposera sûrement plus rapide (mais beaucoup plus illisible, à mon avis...:-))).
Bonjour en ce moment je suis en plein projet j'ai un fichier.txt enregistré sous mon disque (C:\text\fichier.txt) dur et je dois extraire les données de ce fichier.txt en passant par du langage c ou c++. Sachant que je dois afficher ma chaine extraite sous C++Builder_5 à partir d'un IHM (interface homme machine) que j'ai crée... Sachant que dans mon fichier.txt contient des points "." utilisé pour la séparation des données. je vous remercie d"avance tt aide seré la bienvenue.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Donne moi une exemple stp sachant ke je dois récupéré ma chaine extraite dans un champ "edit" à partir d'un ihm crée sous c++BUIDER5.
j'ai une problème au niveau d'une extration de donnée G commenC a coder je vous donne un bout de mon codage
é lerreur effectué lors de la compilation .
void CExtraction::extraireMesures()
{
string ligne;
ligne= lireLigne(1); //Ligne a lire
ligne= ligne.substr(0,4);
}
//##ModelId=4086CA420121
CMesure *CExtraction::lireMesure(int indice)
{
return &mesure;
}
//##ModelId=4086CA8F0122
int CExtraction::lireNbMesures()
{
return 0;
}
//##ModelId=47A5D86E00AB
CExtraction::CExtraction(string nomFichier)
{
nomduFichier= new CFichier("Test_BH.txt");
}
//##ModelId=47A5E07D0148
CExtraction::~CExtraction()
{
//delete;
}
ERREUR:
[Lieur Erreur] Unresolved external 'CExtraction::lireLigne(int)' referenced from:
C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\BUILDER\EXTRACTION\CEXTRACTION.OBJ
é lerreur effectué lors de la compilation .
void CExtraction::extraireMesures()
{
string ligne;
ligne= lireLigne(1); //Ligne a lire
ligne= ligne.substr(0,4);
}
//##ModelId=4086CA420121
CMesure *CExtraction::lireMesure(int indice)
{
return &mesure;
}
//##ModelId=4086CA8F0122
int CExtraction::lireNbMesures()
{
return 0;
}
//##ModelId=47A5D86E00AB
CExtraction::CExtraction(string nomFichier)
{
nomduFichier= new CFichier("Test_BH.txt");
}
//##ModelId=47A5E07D0148
CExtraction::~CExtraction()
{
//delete;
}
ERREUR:
[Lieur Erreur] Unresolved external 'CExtraction::lireLigne(int)' referenced from:
C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\BUILDER\EXTRACTION\CEXTRACTION.OBJ