| |
Membre enregistré 8 messages |
|
Posté le 07 février 2024 - 10:52 |
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. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 102 messages Popularité : +1 (1 vote) |
|
Posté le 07 février 2024 - 11:53 |
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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 07 février 2024 - 14:03 |
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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 361 messages Popularité : +93 (137 votes) |
|
Posté le 07 février 2024 - 14:09 |
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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 07 février 2024 - 14:26 |
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. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 102 messages Popularité : +1 (1 vote) |
|
Posté le 07 février 2024 - 15:43 |
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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 07 février 2024 - 18:27 |
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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 361 messages Popularité : +93 (137 votes) |
|
Posté le 07 février 2024 - 20:32 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 912 messages Popularité : +227 (347 votes) |
|
Posté le 09 février 2024 - 16:40 |
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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 09 février 2024 - 21:42 |
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. |
| |
| |
| | | |
|
| | |