|
Problème import fichier texte |
Started by Ludwig, Feb., 07 2024 10:52 AM - 9 replies |
| |
| | | |
|
| |
Registered member 8 messages |
|
Posted on February, 07 2024 - 10:52 AM |
Bonjour à tous,
Je rencontre un problème lors d'un import d'un fichier texte vers un fichier de données.
HImporteTexte("Performance", "C:\Fichier_Analyse.txt", "", ";", hImpIgnorePremièreLigne, "JAUGE")
j'ai ce message d'erreur : "En attente du délimiteur de début de chaîne <偐>."
Je ne sais pas comment procéder pour parer cette erreur.
Pourrais-je avoir un élément de réponse, svp ?
Merci d'avance et bonne journée. |
| |
| |
| | | |
|
| | |
| |
Registered member 102 messages Popularité : +1 (1 vote) |
|
Posted on February, 07 2024 - 11:53 AM |
bonjour,
ma première idée serait peut être de vérifier l'encodage de votre fichier au vu du caractère affiché dans le message |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on February, 07 2024 - 2:03 PM |
Bonjour Silverin,
Merci pour ton retour.
Le fichier d'analyse est créé comme suit : Je charge le contenu d'un csv
sFichierCSV est une chaîne
sFichierCSV = fChargeTexte(sCheminFichier)
Je charge les données dans un tableau pour faire différents calculs
CSVVersTableau(sFichierCSV, Montableau, ";")
Je charge les données recalculées du tableau dans un fichier texte
sFichierCSV = TableauVersCSV(Montableau, ";")
fSauveTexte("C:\APPLI_AELYS\APPLI_AELYS\PERFORMANCE\EXEMPLE\Fichier_Analyse.txt", sFichierCSV)
Encore merci |
| |
| |
| | | |
|
| | |
| |
Registered member 3,347 messages Popularité : +93 (137 votes) |
|
Posted on February, 07 2024 - 2:09 PM |
Salut Je pense aussi que c'est un fichier en UTF-8 ou Unicode Il ne trouve pas le caractère servant de séparateur. Il serait utile de voir les fonctions de conversion Tel que Unicodeversansi |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on February, 07 2024 - 2:26 PM |
J'ai déclaré ma variable sFichierCSV en une chaîne UNICODE. Je n'ai plus le message d'erreur mais l'import dans le fichier de données ne se fait pas.
Avec Unicodeversansi l'erreur est toujours présente. |
| |
| |
| | | |
|
| | |
| |
Registered member 102 messages Popularité : +1 (1 vote) |
|
Posted on February, 07 2024 - 3:43 PM |
essayer d'ouvrir votre fichier avec un éditeur de texte comme NotePad++ pour voir l'encodage, cela vous permettrait de voir quel fonction utiliser pour la conversion |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on February, 07 2024 - 6:27 PM |
J'ai procédé différemment, je boucle sur le fichier texte, fais mes différents calculs et fais un hAjoute. C'est fonctionnel. En revanche, dès que le fichier texte fait plus de 400000 lignes, rien ne se passe. Cela bloque. Il existe une limite de lignes avec la fonction CSVVersTableau() ?
Merci |
| |
| |
| | | |
|
| | |
| |
Registered member 3,347 messages Popularité : +93 (137 votes) |
|
Posted on February, 07 2024 - 8:32 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,891 messages Popularité : +227 (347 votes) |
|
Posted on February, 09 2024 - 4:40 PM |
Bonjour, Ludwig a écrit :
Il existe une limite de lignes avec la fonction CSVVersTableau() ?
En théorie non, mais si tu compiles en 32 bits, tu es limité par la barre des 2Go. Tu peux contourener ce problème en utilisant fChargeBuffer qui permet de ne récupérer qu'une partie du fichier texte.
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages |
|
Posted on February, 09 2024 - 9:42 PM |
Bonsoir à tous,
Encore merci pour vos retours.
Je ne suis finalement pas passé par un tableau. Je recalcule en bouclant sur la chaine en utilisant chainedécoupe. C'est fonctionnel et peut traiter plus de 800000 lignes en 2 minutes. Ca me convient et j'arrive à faire l'import dans le fichier de données.
Encore merci et bonne soirée. |
| |
| |
| | | |
|
| | | | |
| | |
|