Lecture de fichier csv

Tout ce qui concerne le langage Asymptote. Ce langage est supporté par le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
claude

Lecture de fichier csv

Message par claude »

Bonjour à toutes et tous

Depuis deux jours je cherche à lire un fichier csv depuis asymptote sans succès.

J'ai un fichier texte contenant les coordonnées de points 3D (une ligne par point, avec les trois valeurs séparées par des point-virgules).
J'aimerais pouvoir lire ce fichier dans un tableau de triple pour ensuite les afficher par la méthode draw. J'ai aussi dans un autre fichier la description des facettes sous forme de triangles, avec un triangle par ligne, ou chaque triangle est une liste de 3 entiers qui sont les références aux points lus dans le fichier précédent.

Est-ce qu'il existe un petit exemple pour voir comment lire ce genre de fichier ? Si je lis des string à la place des triples (ou des real[]), ça marche, mais j'aurais voulu lire ces points avec une seule passe.

D'avance merci de votre aide.

claude
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2040
Inscription : lundi 01 octobre 2007, 10:20

Re: lecture fichier csv

Message par GMaths »

Bonjour,
une réponse rapide (faute de temps sur le moment) en forme de questions pour faire avancer le Schmilblick.
claude a écrit :J'ai un fichier texte contenant les coordonnées de points 3D (une ligne par point, avec les trois valeurs séparées par des point-virgules).
J'aimerais pouvoir lire ce fichier dans un tableau de triple pour ensuite les afficher par la méthode draw.


Il est vrai que je n'ai pas mis d'exemples avec des points-virgules ici : Asymptote : exemples de lecture de fichiers de données. N'est-il éventuellement pas possible d'effectuer un traitement préalable en remplaçant les ";" par des " " ? Je pose la question mais je comprends déjà qu'il soit souhaité de trouver une solution où Asymptote se débrouille avec le fichier en l'état. Je cède à la suggestion facile par manque de temps, aujourd'hui, de me replonger dans la technique de lecture d'un fichier de données.

Des lignes précédent-elles les lignes de coordonnées ? (Sinon, je rappelle qu'il y a à les lire d'abord ; voir page des exemples)
claude a écrit :J'ai aussi dans un autre fichier la description des facettes sous forme de triangles, avec un triangle par ligne, ou chaque triangle est une liste de 3 entiers qui sont les références aux points lus dans le fichier précédent.
Ce n'est pas suffisamment clair ! comment le lien est-il fait entre les deux ? De quelle nature sont les références ?
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2040
Inscription : lundi 01 octobre 2007, 10:20

Re: lecture fichier csv

Message par GMaths »

Je dis que je n'ai pas traité le cas de "points-virgules" mais j'ai quand même évoqué un cas de "virgules"... et de coordonnées de points, pour des cartes 2D, dans mon atelier asymptote, il y a deux ans et demi ; voir le diaporama : http://gmaths.net/stage/asy/2011
Je ne m'y suis pas replongé depuis mais j'imagine que c'est adaptable !
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2040
Inscription : lundi 01 octobre 2007, 10:20

Re: lecture fichier csv

Message par GMaths »

Un dernier conseil : celui de la lecture d'un exemple simple de traitement de fichier obj (plus simple que l'exemple officiel http://www.piprime.fr/1035/official_asy ... e-galleon/) et d'un petit tour dans le obj.asy fourni avec Asymptote, où on a confirmation que sont bien lus uniquement des "string" ... que l'on a ensuite à "transtyper" avec ce genre de syntaxe :

Code : Tout sélectionner

string t="2";
real x=(real) t;