le 09-03-2019 12:41 PM
j'ai un ensemble de données dans un fichier .txt de taille 7 colonne x N lignes. je veux renvoyer dans un autre fichier les données des colonnes de 4 jusqu'à 7 pour les lignes 27, 44, 61, 78, 95, 112 ....... jusqu'à le nombre max des lignes du fichier (ligne initial 27 et puis un pas de 17).
je ne sais pas trop travailler sur labview. Y a t -il quelqu'un qui peut me donner un code prêt à l'utilisation pour résoudre ce problème.
Merci
le 09-04-2019 05:29 AM
Salut!
Alors je pense avoir la solution. Du moins le programme que j'ai réalisé répond à ton objectif.
Je me permets de te donner 2, 3 conseils. Alors premièrement, sur la description de ton problème ce n'est pas ultra clair. Il manque beaucoup de précisions et c'est dommage car on ne peut pas t'aider aussi bien quand on a pas toutes les infos (par exemple, tu veux enregistrer tes données dns un fichier, ok, mais de quel type, un fichier txt aussi comme celui de lecture ?)
Ensuite, il est "d'usage" de poster un ptit bout de code pour montrer ce que tu as fait:
- ça permet de montrer aux autres que tu t'es un peu creusé les méninges
- ça permet de voir d'ou vient ton problème, et on peut te donner 2 3 conseils pour améliorer l'effiacité de ton code
D'ailleurs comme dit ouadji, le meilleur moyen d'apprendre c'est d'essayer d'essayer et d'essayer encore (comme dans tous les domaines en fait ;D)
Bref, mon code répond à tes attentes normalement (je l'ai testé et il marche), je l'ai un peu documenté ne connaissant pas ton niveau en labview, si tu connaissais déjà ces choses là tant mieux ! 😉 )
Il faudra juste modifier 2 3 trucs en fonctions de tes besoins spécifiques (et oui ce serait trop simple sinon 😉 )
N'hésite pas à me faire un retour !
(C'est peut-être pas la méthode la plus efficace, donc si vous trouvez une meilleure méthode ça m'intéresse :D)
Bon code !
le 09-04-2019 11:42 AM
salut Lablasc,
merci d'avoir prendre mon problème en considération et merci de m'avoir répondu.
Certes, j'ai essayé de jouer avec les codes. j'ai arrivé à faire un petit code quand il s'agit d'un nombre fini de lignes mais faire ça en boucle non, là je me suis trouvée bloquée. le type du fichier de l'export ça me pose pas un problème, faut juste changer le type de fichier d'export dans "write to measurement file". Maintenant pour le code que tu m'a envoyé, il semble que c'est de la version 2017, la mienne est 2015. du coup il n'arrive pas à l'ouvrir. peux tu l'enregistrer à la version 2015 et me le renvoyer stp
09-05-2019 02:18 AM - modifié 09-05-2019 02:23 AM
Pas de souci, pour être honnête j'ai mis un peu plus de temps que prévu. Au début je pensais passer par une boucle for avec indexation (c'est très pratique quand tu dois jouer avec des tableaux) mais je n'ai pas réussi à obtenir ce que je voulais en passant par cette méthode. Je me suis résigné et je suis passé par une boucle while. Mais je pense qu'on devrait pouvoir y arriver avec une boucle for (ou du moins avec une boucle for à condition d'arrêt) mais je n'ai pas trop eu le temps de regarder ^^'.
La normalement ça devrait être bon. Si tu as des questions, n'hésite pas, si je trouve du temps j'essaierai d'y répondre 😉
PS: j'ai rectifié la face avant qui était vraiment baclée, normalement là c'est un peu mieux 😄
le 09-10-2019 03:34 AM
Pas de nouvelle... bonne nouvelle ?!
le 09-10-2019 05:03 AM
je m'excuse de répondre en retard
pour être honnête il y a des fonctions que tu as utilisées je les vois pour la première fois. mais bon si j'ai pas lancé le code je pense qu'avec les données que j'aies il n'arrive même pas à déterminer la taille du tableau le fait de rencontrer une ligne vide.
je vous joins le fichier text et le même en excel pour que tu puisse vérifier. j'ai mis les données à exporter en surbrillance jaune dans le fichier excel (un pas de 17 jusqu'à la fin des données).
le 09-10-2019 05:32 AM
1ère chose:
Pour les fonctions que j'ai utilisé, il n'y a rien de bien méchant, mon niveau en labview est assez rudimentaire.
Pour chaque fonction, "Ctrl +H" et tu as un descriptif rapide dans une petite fenêtre qui s'ouvre (en haut à droite normalement). Tu peux cliquer sur le lien pour avoir une aide plus détaillée.
Pour être honnête, ton tableau n'est pas du tout pratique. Beaucoup de champs sont vides, et des cellules sont utilisées pour rien (les fameux ----).
Moi à ta place, surtout si tu débutes sur labview (no offense c'est juste pour te simplifier la vie 🙂 ). Je partirai sur un tableau basique, comme mon tableau txt, ou tu peux même rester sur excel.
Il y a des vi liés à Excel avec lesquels tu peux extraire la cellule de ton choix, mais il te faut un toolkit spécial : quand tu es dans ta palette, sur le diagramme, en bas à droite -> Report Generation -> Excel specific en bas à droite.
Sinon il te faudra passer par un code un peu rude pour un débutant avec plein de noeuds de propriété mais tu le trouveras tel quel sur les forums, je suis souvent tombé dessus quand j'ai essayé de travailler avec des fichiers sous Excel.
Le tableau basique peut être un étape intermédiaire de ton process, il peut te servir à faire ce que tu veux avec labview. Libre à toi de reprendre les données et de les agencer comme tu veux que ce soit directement sous excel ou sur labview (avoir en fonction de ton besoin).
Après c'est peut-être moi qui ai quelques problèmes cognitifs (euuhh c'est possible hein :D) mais je n'arrive pas à réellement cerner ton besoin ^^'
Entraine toi, essaye de tout tester et montre nous ce que tu as fait. C'est en faisant qu'on apprend :).
Si une réponse t'aide n'hésite pas à le remercier grâce au kudos. Un merci, c'est comme un sourire ça coute rien et ça fait toujours plaisir ! 😉
09-10-2019 06:46 AM - modifié 09-10-2019 06:47 AM
Bonjour,
pas la meilleur solution mais fonctionne avec Export rayon sphere 0%_6.txt
ecrit un autre.txt avec seulement les données voulu
le 09-10-2019 08:07 AM
Ca marche bien effectivement, merci Guillaume. J'ai une petite question cependant concernant le VI "Search and Replace String".
Pour moi, ce que tu mets dans le "replace string" est censé remplacer ce que tu as dans le "search".
Cela marche en sortie de boucle quand tu remplace plusieurs espaces avec un seul. Mais à l'intérieur de la boucle j'ai essayé de modifier la valeur du replace string et j'obtiens exatcment la même chose
essai 1 :
avec sphère 1 connecté à l'entrée "search" et à celle de "replace" ->le résultat est toujours mais n'a pas bougé
essai 2 :
avec sphère 1 connecté à l'entrée "search" et "abc" à celle de "replace" -> le résultat est toujours le même mais n'a pas bougé
essai 3:
avec sphère 1 connecté à l'entrée "search" et "" (vide) à celle de "replace" -> le résultat est toujours le même mais n'a pas bougé.
Cette différence de comportement pour un même VI me semble bizarre, il doit y avoir quelque chose qui m'échappe. Aurais-tu un début de poste à m'apporter Guillaume ?
Merci d'avance 😉
le 09-10-2019 08:41 AM
dans la boucle le "Search and Replace String" peux être remplacer par un "match pattern" ou un "expression régulière" .
il sert juste a trouver la position du 1er "sphere1" (offset après correspondance )
puis je réutilise cet offset pour la recherche suivante .
par contre le fait de remplacer "sphere1" par autre chose aurais pour avantage de supprimer le registre à décalage (donc toujours chercher à partir du début du texte) .
maintenant reste à savoir si rechercher à partir du début est plus long en temps que de rechercher a partir d'un offset (donc de ne pas tenir compte de la partie déjà vérifié).