le 03-24-2025 04:51 AM
Bonjour,
Mon problème est un souci de manipulation de fichiers. Je veux créer dans un premier temps un fichier CSV dans un certain dossier et écrire des informations dans les colonnes A jusqu'à F. Ensuite, j'aimerais pouvoir lire ce fichier CSV, puis lui rajouter des informations dans les colonnes à partir de G.
J'ai essayé les méthodes de Buld Array avec l'option Concatenate Inputs, mais aussi je n'arrive pas au résultat escompté. Je vous joins la VI créée ainsi que le fichier CSV associé. N'hésitez pas à me dire si la méthode pour réaliser cela est incorrecte ! 🙂
Merci d'avance
Résolu ! Accéder à la solution.
le 03-24-2025 05:41 AM
Bonjour,
Je ne peux pas lire du code en LabVIEW 2024 mais je vois bien le truc (Jongler entre le build array, insert into array, transpose 2d array, ect.)
Je te joins un snippet qui illustre le truc.
Ce qu'il faut comprendre, c'est qu'un tableau 2D est une vue de l'esprit.
En programmation, et du point de vue de la machine, ça n'existe pas vraiment.
Nous, on voit un tableau 2D comme une collection de colonnes.
Ta machine, elle, le voit comme une collection de lignes rangées les unes à la suite des autres (comme une seule grande ligne en mémoire).
Pour la machine, récupérer une colonne revient à prendre un élément à un indice donné dans chaque ligne.
(D'ailleurs, pour faire du code performant, mieux vaut raisonner en lignes plutôt qu'en colonnes.)
Quand on raisonne par colonnes, c'est à nous de faire le travail pour tout remettre dans l'ordre.
le 03-24-2025 08:17 AM
Bonjour Loïc,
Merci de ta réponse, je l'ai implémentée et elle répond à ce que je voulais ! Cependant, si maintenant je veux des colonnes avec plusieurs lignes (comme dans l'exemple que je te joins), il n'y a que la première ligne qui s'affiche. Dois-je allouer ces lignes en amont, les remplir de 0, puis ensuite remplir avec les données que je veux ? Ou bien existe-t-il une autre méthode ?
Merci encore ! 🙂
le 03-25-2025 04:00 AM
Effectivement, un tableau 2D en LabVIEW (et en programmation en général) est une structure rectangulaire :
Toutes les lignes doivent avoir le même nombre de colonnes
Toutes les colonnes doivent avoir le même nombre de lignes
Tu auras aussi le piège avec les boucle for qui itère sur des tableaux.
Si tu indexe plus de un tableaux à l'entrée d'une boucle for et/ou que tu câble le nombre d'itération (N) la boucle for s'exécutera pour le plus petit (Taille de tableau ou N)
Tu trouveras ci dessous une version, peut être pas la meilleur ou on initialise un tableau avec la bonne taille avec une valeur par défaut (ici chaine vide) et on remplace le tableau d'origine puis les nouvelles données.
Vu de loin ça a l'air moche 🙄
Loïc
le 03-25-2025 04:28 AM
Bonjour,
Est-ce qu'une solution comme ci-dessous ne serait pas moins prise de tête, pour si peu ?
A moins que je n'ai raté quelque chose en lisant trop vite l'énoncé du problème.
le 03-25-2025 08:23 AM
Bonjour à vous deux,
Merci de vos réponses ! Loïc, ce que tu proposes est ce que je cherchais, je te remercie également pour les indications 🙂
PinguX je voulais pouvoir rajouter des colonnes avec un nombre de lignes qui peut varier, mais en effet dans certains cas limités cela peut fonctionner.
Dans tous les cas je ferme la discussion, bonne journée à vous
le 03-25-2025 08:51 AM
@User_01_LB a écrit :
je voulais pouvoir rajouter des colonnes avec un nombre de lignes qui peut varier, mais en effet dans certains cas limités cela peut fonctionner.
C'est transparent.
Comme disait Loïc, toutes les colonnes ont le même nombre de lignes une fois assemblées dans un tableau 2D, même si à la source le nombre de lignes peut différer.
Cet affichage ci te parlera peut-être plus :
Bonne journée également. 😃