Lire très rapidement dans un fichier texte

Le
FdeCourt
Bonsoir tout le monde,

Existe t-il une méthode pour lire plus rapidement dans un fichier
texte, ligne par ligne que le code ci-dessous :

Open "c:monfichiertexte.txt" For Input Access Read As 1
Do While Not EOF(1) ' Loop until end of file.
Line Input #1, TextLine
Loop
Close #1
End Sub

Mon problème est le suivant :

J'ai un fichier (FICHIER1) avec un million de lignes, avec sur chaque
ligne un certain nombre d'info séparée par des points virgules (cela
peut être un autre caractère)
J'ai un autre fichier (FICHIER2) avec aussi un million de lignes
environ.

Dans FICHIER2 j'ai une ou plusieurs référence à une ligne (et une
seule) dans FICHIER1

Je dois faire un travail de transformation et d'analyse des données
des deux fichiers pour recréer un 3ème fichier comprenant des infos
des deux fichiers.

Ainsi, pour chaque ligne de FICHIER1, je dois rechercher dans FICHIER2
les lignes correspondantes (qui sont éparpillées dans tout le fichier)
et les assembler.

Le méthode ci-dessus fonctionne très bien, mais vu le volume de
données, j'aurais souhaiter savoir s'il y a une méthode de lecture
plus rapide d'un fichier texte.

Je pourrais intégrer ces fichiers dans une base de données, mais le
problème que je rencontre et que je suis complêtement nul en BDD et
que je n'ai pas le temps pour ce travail de l'apprendre.

J'ai actuellement un code qui me permet de faire exactement ce que je
souhaite, mais qui reste trop long à mon gout, donc une autre méthode
de lecture serait la bienvenue.

Merci beaucoup pour votre aide.

PS : j'utilise excel et ses macros parceque c'est le seul language de
programmation que je connais.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4477721
Bonsoir,

A priori, il faudrait importer dans un SGBD (Access e.g.) et utiliser
des requêtes SQL pour effectuer les analyses.
Une piste sur Excel serait de lire les 2 fichiers une seule fois dans
des tableaux en mémoire centrale et d'effectuer les analyses sur les
tableaux. Mais la mémoire centrale risque d'être insuffisante.

Cordialement JB


On 3 mai, 20:19, FdeCourt
Bonsoir tout le monde,

Existe t-il une méthode pour lire plus rapidement dans un fichier
texte, ligne par ligne que le code ci-dessous :

Open "c:monfichiertexte.txt" For Input Access Read As 1
Do While Not EOF(1) ' Loop until end of file.
Line Input #1, TextLine
Loop
Close #1
End Sub

Mon problème est le suivant :

J'ai un fichier (FICHIER1) avec un million de lignes, avec sur chaque
ligne un certain nombre d'info séparée par des points virgules (cela
peut être un autre caractère)
J'ai un autre fichier (FICHIER2) avec aussi un million de lignes
environ.

Dans FICHIER2 j'ai une ou plusieurs référence à une ligne (et une
seule) dans FICHIER1

Je dois faire un travail de transformation et d'analyse des données
des deux fichiers pour recréer un 3ème fichier comprenant des infos
des deux fichiers.

Ainsi, pour chaque ligne de FICHIER1, je dois rechercher dans FICHIER2
les lignes correspondantes (qui sont éparpillées dans tout le fichier)
et les assembler.

Le méthode ci-dessus fonctionne très bien, mais vu le volume de
données, j'aurais souhaiter savoir s'il y a une méthode de lecture
plus rapide d'un fichier texte.

Je pourrais intégrer ces fichiers dans une base de données, mais le
problème que je rencontre et que je suis complêtement nul en BDD et
que je n'ai pas le temps pour ce travail de l'apprendre.

J'ai actuellement un code qui me permet de faire exactement ce que je
souhaite, mais qui reste trop long à mon gout, donc une autre méthode
de lecture serait la bienvenue.

Merci beaucoup pour votre aide.

PS : j'utilise excel et ses macros parceque c'est le seul language de
programmation que je connais.


FdeCourt
Le #4494961
On 3 mai, 21:01, JB
Bonsoir,

A priori, il faudrait importer dans un SGBD (Access e.g.) et utiliser
des requêtes SQL pour effectuer les analyses.
Une piste sur Excel serait de lire les 2 fichiers une seule fois dans
des tableaux en mémoire centrale et d'effectuer les analyses sur les
tableaux. Mais la mémoire centrale risque d'être insuffisante.

Cordialement JB

On 3 mai, 20:19, FdeCourt
Bonsoir tout le monde,

Existe t-il une méthode pour lire plus rapidement dans un fichier
texte, ligne par ligne que le code ci-dessous :

Open "c:monfichiertexte.txt" For Input Access Read As 1
Do While Not EOF(1) ' Loop until end of file.
Line Input #1, TextLine
Loop
Close #1
End Sub

Mon problème est le suivant :

J'ai un fichier (FICHIER1) avec un million de lignes, avec sur chaque
ligne un certain nombre d'info séparée par des points virgules (cela
peut être un autre caractère)
J'ai un autre fichier (FICHIER2) avec aussi un million de lignes
environ.

Dans FICHIER2 j'ai une ou plusieurs référence à une ligne (et une
seule) dans FICHIER1

Je dois faire un travail de transformation et d'analyse des données
des deux fichiers pour recréer un 3ème fichier comprenant des infos
des deux fichiers.

Ainsi, pour chaque ligne de FICHIER1, je dois rechercher dans FICHIER2
les lignes correspondantes (qui sont éparpillées dans tout le fichi er)
et les assembler.

Le méthode ci-dessus fonctionne très bien, mais vu le volume de
Ok, merci JB, je vais donc devoir rester avec ma méthode actuelle.



F.

données, j'aurais souhaiter savoir s'il y a une méthode de lecture




plus rapide d'un fichier texte.

Je pourrais intégrer ces fichiers dans une base de données, mais le
problème que je rencontre et que je suis complêtement nul en BDD et
que je n'ai pas le temps pour ce travail de l'apprendre.

J'ai actuellement un code qui me permet de faire exactement ce que je
souhaite, mais qui reste trop long à mon gout, donc une autre métho de
de lecture serait la bienvenue.

Merci beaucoup pour votre aide.

PS : j'utilise excel et ses macros parceque c'est le seul language de
programmation que je connais.




Publicité
Poster une réponse
Anonyme