Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lire très rapidement dans un fichier texte

2 réponses
Avatar
FdeCourt
Bonsoir tout le monde,

Existe t-il une m=E9thode 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=E8me est le suivant :

J'ai un fichier (FICHIER1) avec un million de lignes, avec sur chaque
ligne un certain nombre d'info s=E9par=E9e par des points virgules (cela
peut =EAtre un autre caract=E8re)
J'ai un autre fichier (FICHIER2) avec aussi un million de lignes
environ.

Dans FICHIER2 j'ai une ou plusieurs r=E9f=E9rence =E0 une ligne (et une
seule) dans FICHIER1

Je dois faire un travail de transformation et d'analyse des donn=E9es
des deux fichiers pour recr=E9er un 3=E8me fichier comprenant des infos
des deux fichiers.

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

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

Je pourrais int=E9grer ces fichiers dans une base de donn=E9es, mais le
probl=E8me que je rencontre et que je suis compl=EAtement 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 =E0 mon gout, donc une autre m=E9thode
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.

2 réponses

Avatar
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 wrote:
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.


Avatar
FdeCourt
On 3 mai, 21:01, JB wrote:
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 wrote:

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.