IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Convertir CSV en plusieurs fichiers HTML


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 129
    Points : 57
    Points
    57
    Par défaut Convertir CSV en plusieurs fichiers HTML
    Bonjour à tous,
    je cherche à convertir un fichier CSV d'une centaine de lignes, en une centaine de fichier HTML. Un fichier généré pour une ligne.
    J'ouvre le CSV grace à fopen.
    Comment créer plusieurs fichiers portant un nom différent ?

    Je débute et je dois dire que j'y vois très flou...

    Merci beaucoup pour votre aide

  2. #2
    Membre éprouvé
    Avatar de mitkl
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 364
    Points : 1 081
    Points
    1 081
    Par défaut
    En lui-même le format CSV n'est pas compliqué, tu peux l'importer comme n'importe quel fichier texte.

    Pour le reste, il suffit de lire ton fichier ligne par ligne et pour chaque ligne de créer un nouveau fichier html avec le contenu que tu récupères.

    Pour lire un fichier ligne par ligne tu as un exemple ici : http://www.developpez.net/forums/d47...e-ligne-ligne/

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    Le principal problème que j'ai est de créer plusieurs fichiers de noms différents. Ces noms de fichiers constituent une colonne dans mon fichier CSV.

  4. #4
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Citation Envoyé par lmplmp Voir le message
    Le principal problème que j'ai est de créer plusieurs fichiers de noms différents. Ces noms de fichiers constituent une colonne dans mon fichier CSV.
    utilise la fonction sprintf avec en argument un numéro de fichier, comme dans l'exemple ci-dessous. Mais il faudrait quand même lire un minimum de doc, comme les fameux "man"

    A+

    Pfeuh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <stdio.h>
     
    int main(void)
    {
        char buffer[32];
        size_t index = 1;
     
        while(index < 20)
        {
            sprintf(buffer, "file_%04u.csv", index);
            printf("%s\n", buffer);
            index++;
        }
     
        return 0;
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    Je n'ai pas bien compris comment le nom du fichier était determiné dans ton programme.
    La page du man est très imprécise pour ne pas dire incompréhensible pour un novice, peux tu m en dire plus ?

    Merci

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 128
    Points : 33 055
    Points
    33 055
    Billets dans le blog
    4
    Par défaut
    Bonjour,
    Citation Envoyé par pfeuh Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <stdio.h>
    
    int main(void)
    {
        char buffer[32];
        size_t index = 1;
    
        while(index < 20)
        {
            sprintf(buffer, "file_%04u.csv", index);
            printf("%s\n", buffer);
            index++;
        }
    
        return 0;
    }
    http://www.cplusplus.com/reference/c...stdio/sprintf/
    http://fr.cppreference.com/w/cpp/io/c/sprintf

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    Voilà le code que j'ai déduit de vos précédents exemples:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main() {
     
     
     
    int i=0;
    char titre[200]="test";
    char nomdunouveaufichier[200];
    char contenu[200];
    char contenudufichierfinal[200];
    FILE *fichieroriginal=NULL;
    fichieroriginal=fopen("fichier.csv","r");
     
    if(fichieroriginal==NULL) {
    printf("Erreur de fichier");
    return 0;
    			  }
     
     
     
     
    //j'ai trois colonnes à retranscrire pour 300 lignes
     
    while(i<300)
    {
     
    fscanf(fichieroriginal,"%s;%s;%s",nomdunouveaufichier,titre,contenu);
     
     
    strcat(titre,"<br /><br />");
    strcat(titre,contenu);
     
    sprintf(contenudufichierfinal, "%s.htm", nomdunouveaufichier);
     
     
    i++;
     
    }
     
    return 0;
    }
    Ca avance, merci

Discussions similaires

  1. [Toutes versions] Ventiler mon fichier .csv en plusieurs fichiers .csv
    Par X.e.N.o.N dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/07/2018, 05h11
  2. [MySQL] Export CSV de plusieurs fichiers
    Par yamatoshi dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/03/2012, 16h50
  3. [XL-2003] fusion plusieurs fichiers html
    Par arnest dans le forum Excel
    Réponses: 2
    Dernier message: 25/10/2009, 12h50
  4. [HTML] Ajouter même ligne html par macro (plusieur fichiers HTML)
    Par naouah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/02/2009, 21h49
  5. [HTML] Macro pour modifier plusieur fichier html
    Par naouah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 16/01/2009, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo