1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Importer des données a partir d'un fichier Txt

Discussion dans 'Résolution problème & conseils' créé par postmanwindev, Mar 30, 2018.

  1. postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    Bonjour tout le monde alors je dois importer des enregistrements dans ma table article seulement ces enregistrement m'ont était fournis dans un fichier texte du style
    1234 "nomde l'article" "Prix achat" "prix de vente" "qt"
    il y a environs 14000 lignes.
    Les séparateurs sont des "
    j'essaie avec des flitligne() est extrait chaine et pour toute sous chaine de chaine
    mais les résultats ne sont pas concluants une idée s'il vous plait ?
     
    Tags:
    joker apprécie ceci.
  2. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Moi je remplacerais le séparateur " " par ; dans un traitement de texte avant...

    Tu peut nous fournir un exemple de fichier (avec 2 - 3 lignes) en txt via MEGA ?
     
  3. postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    ºFourn ³R‚f ³Nom de l'article ³PaHT ³Pv1 ³Mar1 ³QtStk º

    º ³ ³ ³ 269.10³ ³ 37.49³ º
    º ³ ³ ³ 250.00³ ³ 52.00³ º
    º ³ ³ ³ 400.00³ ³ 50.00³ º
    º ³ ³ ³ 900.00³ ³ 44.44³ º
    º ³ ³ ³ 10.00³ ³100.00³ º
    º ³ ³ ³ 680.00³ ³ 76.47³ º
    º ³ ³ ³ 120.00³ ³ 83.33³ º


    Cette exemple suffit ou je poste sur mega ? merci pour l'idée de changer les " c deja bien
     
  4. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    plutôt dans un fichier texte... via mega.nz ?
    Car les caractères spéciaux s'evapore dans les posts....
     
  5. joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    14

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour tout le monde alors je dois importer des enregistrements dans ma table article seulement ces enregistrement m'ont était fournis dans un fichier texte du style
    1234 "nomde l'article" "Prix achat" "prix de vente" "qt"
    il y a environs 14000 lignes.
    Les séparateurs sont des "
    j'essaie avec des flitligne() est extrait chaine et pour toute sous chaine de chaine
    mais les résultats ne sont pas concluants une idée s'il vous plait ?
    Cliquez pour agrandir...
    Une fois, j'ai u ce prob et je l'ai presque résolu en mettant MOT à MOT le contenu du fichier
    c'est gageure !
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    plutôt dans un fichier texte... via mega.nz ?
    Car les caractères spéciaux s'evapore dans les posts....
    Cliquez pour agrandir...
    ok v voir comment faire

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Une fois, j'ai u ce prob et je l'ai presque résolu en mettant MOT à MOT le contenu du fichier
    c'est gageure !
    Cliquez pour agrandir...
    resque !!!! toi le grand Joker !!!
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    voila messieurs le liens du téléchargement
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Oui, comme dit précédemment, tu remplaces " " (double cote avec un espace) en ; (point virgule),
    Puis, tu finis avec le premier " en remplaçant " par ;.
    Enfin, en lisant ligne à ligne, tu insères la ligne avec TableAjoute(table, sLigne),
    si tu as créé la table avant et supprimé la première ligne du fichier.
     
    Deft54 apprécie ceci.
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Oui, comme dit précédemment, tu remplaces " " (double cote avec un espace) en ; (point virgule),
    Puis, tu finis avec le premier " en remplaçant " par ;.
    Enfin, en lisant ligne à ligne, tu insères la ligne avec TableAjoute(table, sLigne),
    si tu as créé la table avant et supprimé la première ligne du fichier.
    Cliquez pour agrandir...
    ok mais comment affecter chaque bout de ligne a une rubrique (code article, designation,prix etc...
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    C'est automatique avec la fonction TableAjoute() qui attend chaque champ séparés par un point virgule.
    Il faut bien sûr que les valeurs soient dans l'ordre des champs.

    Edit :
    "Je m'a gouré" ;), il faut remplacer les ; par tabulation avant, car la fonction TableAjoute() attend une tabulation entre chaque champs.
     
  • gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Bizarre ce caractère "³" ... Ne serait-ce pas le séparateur qu'il faudrait utiliser ?

    Sinon ouvre ton txt avec Notepad++ et encode le en UTF8 ton séparateur sera xB3 et le CTRL sera ta fin de ligne
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bizarre ce caractère "³" ... Ne serait-ce pas le séparateur qu'il faudrait utiliser ?

    Sinon ouvre ton txt avec Notepad++ et encode le en UTF8 ton séparateur sera xB3 et le CTRL sera ta fin de ligne
    Cliquez pour agrandir...
    le prob c que je ne peux pas modifier le fin de ligne de 14000 ligne puisque si je fais remplacer le 3 par un ctrl c tout les 3 qui changent

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    C'est automatique avec la fonction TableAjoute() qui attend chaque champ séparés par un point virgule.
    Il faut bien sûr que les valeurs soient dans l'ordre des champs.

    Edit :
    "Je m'a gouré" ;), il faut remplacer les ; par tabulation avant, car la fonction TableAjoute() attend une tabulation entre chaque champs.
    Cliquez pour agrandir...
    je vais tester et je vous rend le retour
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    Bon je vous d onne mon idée moi j'ai pensé a créer un tableau de 4 Ensuite de récuperer la ligne lue ensuite de récuperer chaque contenu de ligne séparé par un ";" ensuite faire un truc du genre
    article.code=tabmontab[1]
    article.designation=tabmontab[2]
    article.qt=tabmontab[3]
    .
    .
    .
    hajoute(article)
    Une fois que la boucle arrive a 4 je réintialise et je rajoute un autre enregisrements
    Oui ou non ?
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    C’était au cas où tu avais déjà commencé, tu n'es pas pas obligé de passer par les points virgules, directement en tabulation.
    Mais avant, le plus judicieux est déjà de vérifier s'il n'existe pas déjà des tabulation dans le fichier.

    Est-ce que les champs sont dans l'ordre ? si oui, TableAjoute() avec ta ligne.

    Edit :
    TableAjoute(article, sLigne)
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    C’était au cas où tu avais déjà commencé, tu n'es pas pas obligé de passer par les points virgules, directement en tabulation.
    Mais avant, le plus judicieux est déjà de vérifier s'il n'existe pas déjà des tabulation dans le fichier.

    Est-ce que les champs sont dans l'ordre ? si oui, TableAjoute() avec ta ligne.

    Edit :
    TableAjoute(article, sLigne)
    Cliquez pour agrandir...
    non il n'existe pas de tabulation mais en testant tableajoute() celle ci me rajoute tout dans la 1 colonne de ma table
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Tu as laissé comme séparateur le point virgule, alors qu'il faut une tabulation entre chaque champs du fichier.
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Tu as laissé comme séparateur le point virgule, alors qu'il faut une tabulation entre chaque champs du fichier.
    Cliquez pour agrandir...
    j'ai mis remplace(sreslecture,";",TAB)
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Oui, c'est bien ça, bon je parlais dans le fichier source, mais cela devrait faire l'affaire.
    Donnes-moi la ligne complète de l'enregistrement dans la table et aussi un message info de la première ligne (ou une autre) de sreslecture.
     
  • postmanwindev

    postmanwindev Member
    MEMBRE WX

    Inscrit:
    Mar 30, 2018
    Messages:
    105
    J'aime reçus:
    23
    d'accord donc avec un trace j'obtiens qu'il me rajoute le TAB en fin de ligne et pas etre chaque ligne je pense que c cela le problème
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Dis-moi que tu es en train de changer les ; en tabulation dans le fichier source ?
     
  • Partager cette page

    Chargement...