Bonjour,
J'ai cru comprendre qu'il était simple de parser un fichier texte avec python. Il faudrait que je crée ensuite à partir des données collectées un arbre pour ranger les données collectées.
Est ce que ce langage est bien approprié?
juste pour info : est ce que parser implique de devoir utiliser flex/bison, et dans mon cas est ce vraiment nécéssaire ou python fait il l'affaire.
Merci par avance
# oui, oui, possible.
Posté par schyzomarijks . Évalué à 3.
python/perl/gawk/bash savent très bien gérer tout ca. Il faudrait un exemple de ton fichier.
(Structure tabulé style csv, structure de type fichier ini, xml...)
> est ce que parser implique de devoir utiliser flex/bison,
Non, je dirais que c'est plutot la grosse artillerie. Mais ca peut être bien utile parfois.
[^] # La structure de mon fichier
Posté par doballe . Évalué à 2.
en fait mon fichier est une description d'une BDD et je voudrais en récupérer les liens entre les tables :
extrait du fichier :
// AdrIpBail
Bailleur, ST=AdrIpBail, SF=BailleurId, DT=Bailleur, C=1, T=NORMAL;
// Bailleur
Comment, ST=Bailleur, SF=CommentId, DT=Comment, C=1, T=OWNCOPY, UN="Commentaire", UT=comment, SD="Commentaire";
Contact, ST=Bailleur, SF=BailleurId, DT=ContactBail, C=N, T=OWN, SD="Contacts";
Contrat, ST=Bailleur, SF=BailleurId, DT=Contrat, C=N, T=DEFINE, SD="Contrats";
// NomTable
NomAutreTableEnLIEN, ST=var1, SF=var2, DT=var3, C=var3...
et je veux récupérer NomTable, NomAutreTableEnLIEN, var1,var2....
je peux éventuellement rajouter d'autres marqueurs pour séparer les champs que je veux récupérer...
Si vous avez des exemples ou suggestions sur ce thème, je vous en remercie par avance.
[^] # Re: La structure de mon fichier
Posté par schyzomarijks . Évalué à 3.
awk '/^\/\// { ntb=$2", " } /ST=/ { print ntb,$0 }' bd.txt
j'explique :
awk : nom du programme ;-)
' : début du programme awk
/^\/\// { ntb=$2", " } : Pour chaque ligne qui commence par // je stocke dans la variable ntb le nom de la table.
/ST=/ { print ntb,$0 }' : pour chaque ligne qui contient ST=, j'affiche la variable ntb puis la ligne.
bd.txt : ton nom de fichier
Url sympa sur awk: http://www.shellunix.com/awk.html
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.