Rechercher : dans
Par :

Fichier CSV

Dernière réponse le 27 mai 2006 à 13:34:27 Crapaud, le 25 mai 2006 à 15:19:10 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Fichier CSV » dans :
Fichier CSV Voir Format CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...
[Python] Lire et écrire des fichiers CSV Voir LIRE ET ÉCRIRE DES FICHIERS CSV Python www.python.org, dans sa version 2.4 supporte de facto le format CSV (comma-separated values: valeurs séparées par des virgules). La Library Reference est certes très explicative à ce...
Excel - Convertir fichier(s) CSV / XLS VoirComme dit dans le titre, cette application convertit des fichiers CSV en fichiers XLS N’est pas nécessaire pour Excel 2007, ce dernier faisant la conversion automatiquement La conversion n’ayant pas de mise en forme, en cas de modification...
Exporter à coup sûr du CSV VoirExporter des données au format CSV n'est pas si trivial qu'il n'y paraît. Dès que vos données contiennent des virgules ou des guillemets, tout semble partir en vrille. Il y a une astuce. Voici comment procéder pour exporter à coup sûr vos...

1

crabs, le 25 mai 2006 à 18:22:05

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 ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

2

lami20j, le 25 mai 2006 à 19:08:42

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

Répondre à lami20j

3

Crapaud, le 25 mai 2006 à 20:13:45

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?

Répondre à Crapaud

4

lami20j, le 25 mai 2006 à 20:17:43
Répondre à lami20j

5

Crapaud, le 25 mai 2006 à 20:35:41

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

Répondre à Crapaud

6

lami20j, le 25 mai 2006 à 20:43:09

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.

Répondre à lami20j

7

Crapaud, le 26 mai 2006 à 07:57:00

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

Répondre à Crapaud

8

Crapaud, le 26 mai 2006 à 08:01:12

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

Répondre à Crapaud

9

 Crapaud, le 27 mai 2006 à 13:34:27

Bonjour,

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

Merci

Répondre à Crapaud