Fichier CSV

Crapaud -  
 Crapaud -
Bonjour,

dans le cadre d'un exo, on me demande de mettre des résultats dans un fichier CVS sous forme de couple de valeurs à raison d'un couple par ligne :
val1,val2

Ma question est la suivante comment fait-on pour créer un fichier CVS avec les considérations que je viens d'énoncer?

Merci

9 réponses

  1. crabs Messages postés 909 Statut Membre 507
     
    Salut,
    CVS ou CSV ?
    Si c'est du CSV, le principe est simple en algo :
    OUVRIR #output "fichier_resultat.csv" EN ECRITURE;
    POUR CHAQUE COUPLE DE VALEUR FAIRE
       ECRIRE #output, PREMIER_NOMBRE ;
       ECRIRE #output, ',' ;
       ECRIRE #output, SECONDE_NOMBRE ;
       ECRIRE #output, FIN_DE_LIGNE
    FIN.POUR
    FERMER #output
    

    Dans la plus part des langages modernes, il est possible de réaliser les 4
    ECRIRE en un seul appel à une fonction système ou appel à un flux.

    Si c'est du CVS, alors là c'est plus compliqué à moins d'utiliser directement
    les commandes...

    A+, crabs
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    En effet l'algo n'est pas compliqué.
    Cependant c'est bien de savoir la structure de données en entrée.
    D'ailleurs c'est la 1ère chose qu'il fallait dire.
    C'est simple de demander le résultat en sortie, mais depuis quoi?

    Dans le cas CSV peut être une simple regex est suffisante.

    lami20j
    0
  3. Crapaud
     
    Salut,

    en faite pour créer un fichier CSV, il faut juste mettre ce qu'on veut séparer par des virgules?

    Il n'y a rien de spécial à faire?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Crapaud
     
    Salut,

    j'ai regardé le lien mais ça ne dit pas comment il faut s'y prendre pour importer et exporter des donnés dans ce format.

    Je ne sais pas du tout comment il faut que je fasse.

    Un exemple me serait bien utile.

    Merci
    0
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    dans mon message N°2 j'ai écrit

    Cependant c'est bien de savoir la structure de données en entrée.
    D'ailleurs c'est la 1ère chose qu'il fallait dire.
    C'est simple de demander le résultat en sortie, mais depuis quoi?


    et tu demandes

    Un exemple me serait bien utile.

    Alors donne moi les données que je dois traiter.

    Tu dis on me demande de mettre des résultats. Alors quels résultats?
    Tu dois obtenir ton fichier CSV depuis quelque chose, n'est-ce pas? Pour t'aider c'est de ce quelque chose que j'ai besoin.

    Le principe est :


    données en entrée -> traitement -> données en sortie


    Le traitement et les données en sortie je me débrouille, mais il manque les données en entrée.

    lami20j

    P.S. j'ai oublié de dire. je le ferai en perl. si tu veux dans un autre langage il faut le préciser.
    0
  7. Crapaud
     
    Salut,

    alors, c'est un peu compliqué car j'ai plusieurs structures que voici :

    /*
      GESTION DES IP
    */
    // Structure IP
    typedef struct {
      unsigned char x[4];                     // Adresse
    } t_ip;
    


    /*
      GESTION DES NOEUDS
    */
    // Structure tableau dynamique de noeuds
    struct s_noeud;                             // Déclaration type
    typedef struct {
        struct s_noeud **elem;                  // Tableau des adresses
      size_t nb;                              // Nb d'éléments réel
      size_t size;                            // Taille allouée
    } t_tabNoeud;
    
    // Structure noeud
    typedef struct s_noeud {
      t_ip ip;                                // IP dans le noeud
      unsigned short prof;                    // Profondeur du noeud
      struct s_noeud *parent;                 // Adresse père
      t_tabNoeud tabNoeud;                    // Tableau des noeuds fils
    } t_noeud;
    


    /*
      GESTION DES ARBRES
    */
    // Structure arbre
    typedef struct s_arbre {
      t_noeud *racine;                        // Racine arbre
      t_tabNoeud liste;                       // Liste des noeuds de l'arbre
    } t_arbre;
    


    Toutes ses structures ont pour but de créer un arbre.
    A partir de l'arbre crée, il faut donner les voisins d'un noeud ainsi que toutes les distances minimales depuis la racine.
    Toutes les fonctions ont été écrites mais il me faut maintenant mettre les résultats dans un fichier CSV

    Il faut exporter (et importer) les données, sous forme de deux fichiers CSV : un contenant la liste des sommets (adresses IP) avec leur distance minimale à la source, et un autre contenant une liste de couples d'adresses IP.

    Par exemple avec cet arbre :
          
                                               A
                                             /   \
                                            B     D
                                          /  |    |
                                        C   E     E
                                        |    |    |
                                        D   F     G
    

    Pour les distances auraient le fichier suivant :
    A,0
    B,1
    C,2
    D,1
    E,2
    F,3
    G,3

    Pour les voisins:
    A,B
    A,D
    ...
    E,B
    E,F
    E,D
    E,G
    ....

    Je voudrais que ce soit en langage C

    Merci par avance
    0
  8. Crapaud
     
    Salut,

    je rajoute quelques précisions :

    "arbre->liste.nb" => c'est le nb de noeuds distincts de l'arbre
    "arbre->liste.elem[i]" => c'est l'adresse du "i" ième noeud distinct de l'arbre
    "arbre->liste.elem[i]->ip" => c'est son adresse IP
    "arbre->liste.elem[i]->prof" => c'est sa profondeur minimale
    "arbre->liste.elem[i]->tabNoeud.nb" => c'est le nb de voisins
    "arbre->liste.elem[i]->tabNoeud.elem[j]" => c'est l'adresse du "j" ième voisin
    "arbre->liste.elem[i]->tabNoeud.elem[j]->ip" => c'est l'IP du "j" ième voisin
    0
  9. Crapaud
     
    Bonjour,

    est-ce que quelqu'un pourrait m'aider svp?

    Merci
    0