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

 Delphi Discussion :

Les champs d'un fichiers CSV


Sujet :

Delphi

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 66
    Points : 57
    Points
    57
    Par défaut Les champs d'un fichiers CSV
    Bonjour,

    Existe il une fonction qui permet de compter le nombre de colonne de chaque ligne d'un fichier csv , j'ai utilisé le TStringList pour lire mon fichier csv
    TFile : TStringList ;
    TFile := TStringList.Create;
    TFile .LoadFromFile('fichier.csv');

    Strings[i] permet de récupérer chaque ligne d'un fichier csv, mais comment compter le nombre de cette ligne sachant que le séparateur est le virgule ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    en comptant le nombre de séparateur (virgule) plus 1
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    Mais comment je procède ?,ça existe une fonction qui permet de faire ça ?
    merci pour votre réponse

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Si tu peux découper en CR\LF, tu peux aussi découper via CommaText ou DelimitedText en indiquant , comme Delimiter en plus via QuoteChar cela gère les , contenus en ""

    Ne pas oublier StrictDelimiter qui évite que l'espace soit considéré comme séparateur par défaut ce qui parasite le découpage d'une ligne d'un CSV

    Voir CommaText dans récuperer entre les séparateurs

    Sinon, sur le forum, c'est un grand classique
    Construire un tableau à partir d'une chaine (Spliter) évoque mon Explode et ExtractStrings
    Tableau dynamique et fichier CSV
    Votre Avis : Optimisation des performances pour le chargement de fichier CSV
    Mettre une chaine dans un tableau
    Très gros fichier CSV



    Si CSV américain (virgule) le TTable peut le lire, une petite boucle sur FieldCount et c'est fait

    Si CSV français (point-virgule), le TADOTable peut le lire en le driver ODBC
    Delimited TextFile


    En MySQL, il existe LOAD DATA INFILE INTO TABLE
    En Sybase, LOAD TABLE
    Utile si tu veux lire le CSV complètement et pas juste compter les colonnes !

    De toute façon, compter les colonnes de chaque ligne, il faudra lire le fichier en entier !

    Pense que l'on peut aussi mettre une ligne d'entête à un CSV, c'est fort pratique, il faut juste le gérer lors de l'import\export du fichier


    Comment charger directement un fichier CSV dans une table Access? fourni un code Delphi ADO
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. [MySQL] Importer les données d'un fichier CSV dans une base de données
    Par joueur dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/11/2008, 11h59
  2. Traiter les champs d'un fichier conséquent
    Par darkrio dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/05/2007, 11h10
  3. [CSV] Compter les lignes d’un fichier csv
    Par sam01 dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 11h16
  4. Réponses: 3
    Dernier message: 26/04/2006, 11h52
  5. Sauvegarder les données dans un fichier CSV
    Par beb30 dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2006, 13h06

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