| |
Membro registado 8 mensagems |
|
Publicado em fevereiro, 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. |
| |
| |
| | | |
|
| | |
| |
Membro registado 102 mensagems Popularité : +1 (1 vote) |
|
Publicado em fevereiro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 8 mensagems |
|
Publicado em fevereiro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.355 mensagems Popularité : +93 (137 votes) |
|
Publicado em fevereiro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 8 mensagems |
|
Publicado em fevereiro, 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. |
| |
| |
| | | |
|
| | |
| |
Membro registado 102 mensagems Popularité : +1 (1 vote) |
|
Publicado em fevereiro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 8 mensagems |
|
Publicado em fevereiro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.355 mensagems Popularité : +93 (137 votes) |
|
Publicado em fevereiro, 07 2024 - 8:32 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.898 mensagems Popularité : +227 (347 votes) |
|
Publicado em fevereiro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 8 mensagems |
|
Publicado em fevereiro, 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. |
| |
| |
| | | |
|
| | |