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 :

lire et écrire sur un fichier csv


Sujet :

C++

  1. #1
    Membre actif
    Femme Profil pro
    Enseignant
    Inscrit en
    Août 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 71
    Par défaut lire et écrire sur un fichier csv
    Bonjour,
    j'ai un fichier csv qui contient n lignes et m colonnes contenant des entiers,

    je veux lire le fichier pour faire des calcules entres les lignes ensuite copier chaque résultat dans un autres fichier csv,
    pour cela je veux transformer le fichier csv en une matrice de dimension n*m,

    voici une petite partie du fichier csv:
    Nom : exemple.png
Affichages : 2705
Taille : 5,8 Ko
    j'ai creer le code suivant appliqué sur l'exemple précédant:
    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
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
    int s[30][30];
    int sim[30][30];
    int m(5);
     
    int main(int argc, char *argv[])
    {       
        for(int i=0;i<4;i++)
     for(int j=0;j<m;j++){
      cout<<"S["<<i<<","<<j<<"]=";cin>>s[i][j];
     }
     for(int i=0;i<4;i++)
     {
     for(int j=i+1;j<4;j++)
          {  sim[i][j]=0;
     
                 for (int k(0);k<m;k++)
                    {
                    sim[i][j]=sim[i][j]+(s[i][k]+s[j][k]);
     
                    }
             cout<<"sim["<<i<<"]["<<j<<"]="<<sim[i][j]<<endl;
             }
     
          }
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    je veux executer le meme programme mais en utilisant un fichier csv qui contient n lignes et m colonnes et par la suite sauvegarder la matrice sim dans un autre fichier csv

  2. #2
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2016
    Messages : 32
    Par défaut
    Bonjour,

    Tu trouveras ici tout se dont tu as besoin : https://julien-blanc.developpez.com/...cture-csv-c++/

    Un autre indice est que ton délimiteur est ";"

    Bon courage à toi,

  3. #3
    Membre actif
    Femme Profil pro
    Enseignant
    Inscrit en
    Août 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 71
    Par défaut
    bonsoir;
    merci Gruzo pour ton aide,
    j'ai réussi a lire mon fichier csv, mais maintenant comment faire pour appliquer quelques formules mathématiques sur les [i][j] de la matrice.

    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
    #include <stdlib.h>
    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <iostream>
    #include <stdlib.h>
    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <vector>
    #include <cstdio>
    #include <string.h>
    #include <cstdlib>
     
    using namespace std;
     
     
    int main()
    {
       ifstream file("C:/Users/click/Desktop/exemple.csv");
       string line;
       vector<int> vec;
       while (getline(file, line))
    {
           cout << line << endl;
           istringstream ss(line);
           string word;
           while (getline(ss, word,';')){
           double value = strtod(word.c_str(), NULL); // cnversion string to double
           vec.push_back(value); //remplissage du vecteur
      }
    }
    //Affichage du vecteur
    for (int i = 0; i < vec.size(); i++){
            //cout << vec[i] << '\n';
     }
     //cout << vec[0] << " " << vec [1] ;
     system("pause");
        return 0;
    }

  4. #4
    Membre actif
    Femme Profil pro
    Enseignant
    Inscrit en
    Août 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 71
    Par défaut
    voici un deuxieme essai avec array:

    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
    44
    45
    46
    47
    48
    49
    #include <string>
    #include <sstream>
    #include <iostream>
    #include <vector>
    #include <fstream>
     using namespace std;
    int main()
    {
     
     
     
        //const string filename = "C:/Users/click/Desktop/exemple.csv";
        ifstream filename("C:/Users/click/Desktop/exemple.csv"); // open the file
        string line, field;
        vector< vector<string> > array;  // the 2D array
        vector<string> v;                // array of values for one line only
     
        if (!filename) // error if the file doesn't exist
      {
        cerr << "Can't open file " << filename << endl;
        return 1;
      }
     
        while ( getline(filename,line) )    // get next line in file
        {
            v.clear();
            stringstream ss(line);
     
            while (getline(ss,field,';'))  // break line into comma delimitted fields
            {
                v.push_back(field);  // add each field to the 1D array
            }
     
            array.push_back(v);  // add the 1D array to the 2D array
        }
     
        // print out what was read in
     
        for (size_t i=0; i<array.size(); ++i)
        {
            for (size_t j=0; j<array[i].size(); ++j)
            {
                cout << array[i][j] << " | "; // (separate fields by |)
            }
            cout << "\n";
        }
     system("pause");
        return 0;
    }

    le problem que je rencontre, comment include le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for(int i=0;i<3;i++)
     {
     for(int j=i+1;j<3;j++)
          {  sim[i][j]=0;
     
                 for (int k(0);k<m;k++)
                    {
                    sim[i][j]=sim[i][j]+(s[i][k]+s[j][k]);
     
                    }
             cout<<"sim["<<i<<"]["<<j<<"]="<<sim[i][j]<<endl;
             }
     
          }

  5. #5
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2016
    Messages : 32
    Par défaut
    Bonjour,

    En faisant un appel de fonction ?

Discussions similaires

  1. Lire et écrire sur les fichiers xls et xlsx avec POI
    Par LILIFA dans le forum Documents
    Réponses: 4
    Dernier message: 23/07/2013, 22h33
  2. Lire et écrire facilement des fichiers CSV
    Par LampeRouge dans le forum Langage
    Réponses: 10
    Dernier message: 21/06/2013, 18h10
  3. Lire et écrire dans un fichier sur Internet
    Par Snebz dans le forum Général Java
    Réponses: 6
    Dernier message: 20/11/2011, 16h24
  4. lire/écrire sur un fichier texte sur un serveur distant
    Par nabmoah dans le forum Visual C++
    Réponses: 6
    Dernier message: 12/02/2007, 10h27
  5. [OS] Lire et écrire sur disquette
    Par trax44 dans le forum Programmation d'OS
    Réponses: 17
    Dernier message: 22/02/2004, 20h45

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