none
Traitement du fichier variable avec des données hiérarchiques RRS feed

  • Question

  • Bonjour tous le monde,

    Depuis un moment je cherche une solution pour traiter un fichier variable qui contient des données structuré en père fils.

    Je m'explique

    dans mon fichier, j'ai une partie fixe qui sert à alimenter la table principale. Une colonne dans la partie fixe spécifie le nombre de fils dans la ligne. donc le nombre de fils est variable d'une ligne à une autre.

    voici un exemple

    17503750011007500209775003120

    26902690010346900254

    dans ce fichier, le premier caractère c'est un numéro séquentiel

    2 chiffre pour le numéro de département

    2 chiffres pour indiquer le nombre de commune de ce département

    après le reste c'est la partie variable qui dépend de nombre de commune

    pour la première ligne on 3 commune: 75001 avec 100 habitants/km2, 75002 avec 097 habitants/km2, 75003 avec 120 habitants/km2

    la deuxième ligne département 69 avec 2 communes

    donc mon objectif c'est d'alimenter la table département et commune

    Merci bcp pour votre aide

    jeudi 19 juillet 2012 23:17

Réponses

  • Bonjour,

    Vous venez de décrire tout ce qu'il faut faire, maintenant il faut le traduire en c#.

    Une méthode qui pourrait vous être utile est String.Substring, elle permet de soustraire une sous-chaîne à partir d'une autre chaîne.

    Voici un apperçu de ce qui pourrait être votre code :

                var fichierInfosCommunes = "[le lien de votre fichier]";
    
                var infosDepartements = System.IO.File.ReadAllLines(fichierInfosCommunes);
    
                foreach (var infosDepartement in infosDepartements)
                {
                    var numeroSequentiel = infosDepartement.Substring(0, 1);
                    var departement = infosDepartement.Substring(1, 2);
                    var nombreCommune = infosDepartement.Substring(3, 2);
    
                    //Et ainsi de suite.
    
                    //En suite vous constituer votre requête
                }

    Cordialement.


    vendredi 20 juillet 2012 15:26

Toutes les réponses

  • Bonjour,

    Vous venez de décrire tout ce qu'il faut faire, maintenant il faut le traduire en c#.

    Une méthode qui pourrait vous être utile est String.Substring, elle permet de soustraire une sous-chaîne à partir d'une autre chaîne.

    Voici un apperçu de ce qui pourrait être votre code :

                var fichierInfosCommunes = "[le lien de votre fichier]";
    
                var infosDepartements = System.IO.File.ReadAllLines(fichierInfosCommunes);
    
                foreach (var infosDepartement in infosDepartements)
                {
                    var numeroSequentiel = infosDepartement.Substring(0, 1);
                    var departement = infosDepartement.Substring(1, 2);
                    var nombreCommune = infosDepartement.Substring(3, 2);
    
                    //Et ainsi de suite.
    
                    //En suite vous constituer votre requête
                }

    Cordialement.


    vendredi 20 juillet 2012 15:26
  • Bonjour

    avez vous testé les solution proposées ? Merci de nous tenir au courant si cette solution vous convient

    Cordialement

    mardi 24 juillet 2012 15:39
    Modérateur