Voilà, cela fait un moment que je planche pour comment parser le fichier xml un peu particulier. J’ai essayé avec Element tree sans succès, mais j’ai réussi à obtenir qqch avec minidom.
Voici le lien avec le fichier XML (imposé par un instrument et sur lequel je n’ai pas de possibilité d’influer sur son formatage) et deux scripts python. Les deux posent problème pour la même raison.
Si l’un des groupe est vide, le script met une erreur. Si je modifie le fichier XML pour mettre des infos dans toutes les balises , le script s’exécute.
Il y aurait-il un moyen de modifier le script pour « sauter » les groupes vides ?
Je peux commencer à passer à l’étape suivante qui est de créer des variables qui associent certaines valeurs retournées suite à ce script sur le fichier XML.
Par exemple, j’aimerais prendre la ligne 3
Instrument
S/N
20201177880
Location:
Country
et attribuer cette valeur à une variable. Je pensais à exporter l’output dans un fichier texte et faire un autre script pour lire depuis ce fichier texte en ligne par ligne et attribuer les valeurs aux variables choisies. Avez-vous une idée plus directe ?
Merci pour votre retour encore,
bien cordialement,
Daniel
en fait suite a ton post, je me suis « pris la tête » à associer les libellés ( Instrument,S/N, etc.) aux datas
pour ça j’ai utilisé ds la boucle for cell in cells: après avoir initialisé a Zéro un indice « i » des tests sur cet indice pour repérer trois parties:
le début ['Instrument', 'S/N', '20201177880', 'Location:', 'Country', 'Instrument Version', '5.0|1.7']
la partie libellé ( toujours renseignée)
et la partie « data » ( avec parfois une donnée)
je l’ai mis dans deux machin python ( je me rappelle jamais si c’est des listes des tupples … )
de la forme:
libelle=[]
valeur=[]
comme il y a le même nombre de ligne dans les deux ( à condition qu’on les remplisse aussi quand il n’y a rien ds data) et une fois les zones parcées , dans une boucle l’indice peut servir à rapprocher les libellés des datas correspondantes…
il y a certainement d’autres moyens plus dans l’esprit python mais ça marche !
Clairement j’aurai pu directement te coller le script … mais si tu veux apprendre python, c’est en te prenant la tête sur ce type de problème que tu pourras progresser…
si t’insistes je te posterai quant même ma solution lol on n’est pas des boeufs !
Désolé du temps de réponse. Au final j’ai qqch qui fonctionne bien, comme tu dis, rien ne vaut mieux que se creuser les méninges en testant différentes choses.
Le plus beau c’est quand après ca marche et sans bugs !
Merci beaucoup pour votre aide sur le forum et à bientôt sur d’autres sujets !