Bonjour,
mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
besoin que de garder plusieurs petites parties dont je connait les
offsets (en nombre de ligne) dans ce fichier. Existe-t-il un moyen de
n'ouvrir qu'une partie d'un fichier en connaissant l'offset ou par un
autre moyen?
Merci
Bonjour,
mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
besoin que de garder plusieurs petites parties dont je connait les
offsets (en nombre de ligne) dans ce fichier. Existe-t-il un moyen de
n'ouvrir qu'une partie d'un fichier en connaissant l'offset ou par un
autre moyen?
Merci
Bonjour,
mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
besoin que de garder plusieurs petites parties dont je connait les
offsets (en nombre de ligne) dans ce fichier. Existe-t-il un moyen de
n'ouvrir qu'une partie d'un fichier en connaissant l'offset ou par un
autre moyen?
Merci
Bonjour,
mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
besoin que de garder plusieurs petites parties dont je connait les offsets
(en nombre de ligne) dans ce fichier. Existe-t-il un moyen de n'ouvrir
partie d'un fichier en connaissant l'offset ou par un autre moyen?
Bonjour,
mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
besoin que de garder plusieurs petites parties dont je connait les offsets
(en nombre de ligne) dans ce fichier. Existe-t-il un moyen de n'ouvrir
partie d'un fichier en connaissant l'offset ou par un autre moyen?
Bonjour,
mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
besoin que de garder plusieurs petites parties dont je connait les offsets
(en nombre de ligne) dans ce fichier. Existe-t-il un moyen de n'ouvrir
partie d'un fichier en connaissant l'offset ou par un autre moyen?
Salutatoi Looping,
Tu t'es vachement avancé en affirmant :
> Bonjour,
>
> mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
> besoin que de garder plusieurs petites parties dont je connait les
> offsets (en nombre de ligne) dans ce fichier. Existe-t-il un moyen de
> n'ouvrir qu'une partie d'un fichier en connaissant l'offset ou par un
> autre moyen?
> Merci
Tu peux ouvrir le fichier en Binary et lire les données par Get.
Aski
Salutatoi Looping,
Tu t'es vachement avancé en affirmant :
> Bonjour,
>
> mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
> besoin que de garder plusieurs petites parties dont je connait les
> offsets (en nombre de ligne) dans ce fichier. Existe-t-il un moyen de
> n'ouvrir qu'une partie d'un fichier en connaissant l'offset ou par un
> autre moyen?
> Merci
Tu peux ouvrir le fichier en Binary et lire les données par Get.
Aski
Salutatoi Looping,
Tu t'es vachement avancé en affirmant :
> Bonjour,
>
> mon probleme est un fichier texte de 4Go (ca fait beaucoup) et je n'ai
> besoin que de garder plusieurs petites parties dont je connait les
> offsets (en nombre de ligne) dans ce fichier. Existe-t-il un moyen de
> n'ouvrir qu'une partie d'un fichier en connaissant l'offset ou par un
> autre moyen?
> Merci
Tu peux ouvrir le fichier en Binary et lire les données par Get.
Aski
heu je vois pas vraiment ce que c'est que "get".
mais je peux pas ouvrir le fichier en entier parce que aucun logiciel
comme le notepad ne peut ouvrir un fichier de 4 Go en entier et en
une seule fois. alors pour accelerer les choses je voudrais extraire
juste par exemple la 10ieme ligne puis la 110ieme puis la 210ieme ...
en esperant etre plus clair maintenant...
heu je vois pas vraiment ce que c'est que "get".
mais je peux pas ouvrir le fichier en entier parce que aucun logiciel
comme le notepad ne peut ouvrir un fichier de 4 Go en entier et en
une seule fois. alors pour accelerer les choses je voudrais extraire
juste par exemple la 10ieme ligne puis la 110ieme puis la 210ieme ...
en esperant etre plus clair maintenant...
heu je vois pas vraiment ce que c'est que "get".
mais je peux pas ouvrir le fichier en entier parce que aucun logiciel
comme le notepad ne peut ouvrir un fichier de 4 Go en entier et en
une seule fois. alors pour accelerer les choses je voudrais extraire
juste par exemple la 10ieme ligne puis la 110ieme puis la 210ieme ...
en esperant etre plus clair maintenant...
Salutatoi Looping,
Tu t'es vachement avancé en affirmant :
> heu je vois pas vraiment ce que c'est que "get".
Get #1, Position, MyRecord
Lit l'enregistrement.à la position Position et le place dans la variable
MyRecord
Mais effectivement, comme le dit Jean-Marc, cela ne sert à rien si les
longueurs de lignes sont aléatoires.
> mais je peux pas ouvrir le fichier en entier parce que aucun logiciel
> comme le notepad ne peut ouvrir un fichier de 4 Go en entier et en
> une seule fois. alors pour accelerer les choses je voudrais extraire
> juste par exemple la 10ieme ligne puis la 110ieme puis la 210ieme ...
> en esperant etre plus clair maintenant...
Je ne connais pas d'autre moyen, pour des lignes aléatoires, de lire les
lignes dans une variable poubelle. Lorsque la ligne est atteint, tu
transfères la variables poubelle dans la variable de travail.
'Ouvrir le fichier en mode séquentiel
Open "TonFichier" For Input As #1
'lire les lignes jusqu'à atteindre le numéro voulu
For i = 1 to NrLineToRead
Line Input #1, TextLine.
Next i
'Affecter la ligne à lire
LineToRead = TextLine
Il faut bien sûr tester la fin de fichier.
Mais cette solution oblige à lire tout le fichier. Jean-Marc semble avoir
une solution plus élégante.
Salutatoi Looping,
Tu t'es vachement avancé en affirmant :
> heu je vois pas vraiment ce que c'est que "get".
Get #1, Position, MyRecord
Lit l'enregistrement.à la position Position et le place dans la variable
MyRecord
Mais effectivement, comme le dit Jean-Marc, cela ne sert à rien si les
longueurs de lignes sont aléatoires.
> mais je peux pas ouvrir le fichier en entier parce que aucun logiciel
> comme le notepad ne peut ouvrir un fichier de 4 Go en entier et en
> une seule fois. alors pour accelerer les choses je voudrais extraire
> juste par exemple la 10ieme ligne puis la 110ieme puis la 210ieme ...
> en esperant etre plus clair maintenant...
Je ne connais pas d'autre moyen, pour des lignes aléatoires, de lire les
lignes dans une variable poubelle. Lorsque la ligne est atteint, tu
transfères la variables poubelle dans la variable de travail.
'Ouvrir le fichier en mode séquentiel
Open "TonFichier" For Input As #1
'lire les lignes jusqu'à atteindre le numéro voulu
For i = 1 to NrLineToRead
Line Input #1, TextLine.
Next i
'Affecter la ligne à lire
LineToRead = TextLine
Il faut bien sûr tester la fin de fichier.
Mais cette solution oblige à lire tout le fichier. Jean-Marc semble avoir
une solution plus élégante.
Salutatoi Looping,
Tu t'es vachement avancé en affirmant :
> heu je vois pas vraiment ce que c'est que "get".
Get #1, Position, MyRecord
Lit l'enregistrement.à la position Position et le place dans la variable
MyRecord
Mais effectivement, comme le dit Jean-Marc, cela ne sert à rien si les
longueurs de lignes sont aléatoires.
> mais je peux pas ouvrir le fichier en entier parce que aucun logiciel
> comme le notepad ne peut ouvrir un fichier de 4 Go en entier et en
> une seule fois. alors pour accelerer les choses je voudrais extraire
> juste par exemple la 10ieme ligne puis la 110ieme puis la 210ieme ...
> en esperant etre plus clair maintenant...
Je ne connais pas d'autre moyen, pour des lignes aléatoires, de lire les
lignes dans une variable poubelle. Lorsque la ligne est atteint, tu
transfères la variables poubelle dans la variable de travail.
'Ouvrir le fichier en mode séquentiel
Open "TonFichier" For Input As #1
'lire les lignes jusqu'à atteindre le numéro voulu
For i = 1 to NrLineToRead
Line Input #1, TextLine.
Next i
'Affecter la ligne à lire
LineToRead = TextLine
Il faut bien sûr tester la fin de fichier.
Mais cette solution oblige à lire tout le fichier. Jean-Marc semble avoir
une solution plus élégante.
<digression>
J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
visiblement
non indexé, dans lequel on "sait" à l'avance que l'information
recherchée est
à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
</digression>
<digression>
J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
visiblement
non indexé, dans lequel on "sait" à l'avance que l'information
recherchée est
à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
</digression>
<digression>
J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
visiblement
non indexé, dans lequel on "sait" à l'avance que l'information
recherchée est
à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
</digression>
Salutatoi Jean-Marc,
> <digression>
> J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
> visiblement
> non indexé, dans lequel on "sait" à l'avance que l'information
> recherchée est
> à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
> </digression>
Pour un tel fichier, je commencerais par créer un fichier à accès direct
tout bête.
Il serait peut-être plus gros, mais l'accès en serait tellement simple et
rapide ... ;-)
Salutatoi Jean-Marc,
> <digression>
> J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
> visiblement
> non indexé, dans lequel on "sait" à l'avance que l'information
> recherchée est
> à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
> </digression>
Pour un tel fichier, je commencerais par créer un fichier à accès direct
tout bête.
Il serait peut-être plus gros, mais l'accès en serait tellement simple et
rapide ... ;-)
Salutatoi Jean-Marc,
> <digression>
> J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
> visiblement
> non indexé, dans lequel on "sait" à l'avance que l'information
> recherchée est
> à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
> </digression>
Pour un tel fichier, je commencerais par créer un fichier à accès direct
tout bête.
Il serait peut-être plus gros, mais l'accès en serait tellement simple et
rapide ... ;-)
"Aski" a écrit dans le message de
news:%Salutatoi Jean-Marc,<digression>
J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
visiblement
non indexé, dans lequel on "sait" à l'avance que l'information
recherchée est
à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
</digression>
Pour un tel fichier, je commencerais par créer un fichier à accès
direct tout bête.
Il serait peut-être plus gros, mais l'accès en serait tellement
simple et rapide ... ;-)
Je ferais ça aussi. Un petit préprocess pour transformer son fichier
en un fichier à enregistrements de taille fixe, et hop le tour est
joué.
Si c'est impossible (genre il y a une autre appli qui continue à
écrire dedans à l'ancien format), il faut trouver d'autre solutions,
certainement la création d'indexs bien choisis. Avec 1 milliard de
lignes (sic) il suffirait d'un index d'une dizaine de milliers de
lignes (donc
au pire 1000 tests) pour se ramener à une lecture brutale de
10.000 lignes (au pire).
On a alors des temps d'accès à l'info de l'ordre de 100 ms, pour une
taille d'index < 100 Ko :-) Que du bonheur!
"Aski" <aski@asci.asc> a écrit dans le message de
news:%23ic2maI4FHA.1276@TK2MSFTNGP09.phx.gbl...
Salutatoi Jean-Marc,
<digression>
J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
visiblement
non indexé, dans lequel on "sait" à l'avance que l'information
recherchée est
à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
</digression>
Pour un tel fichier, je commencerais par créer un fichier à accès
direct tout bête.
Il serait peut-être plus gros, mais l'accès en serait tellement
simple et rapide ... ;-)
Je ferais ça aussi. Un petit préprocess pour transformer son fichier
en un fichier à enregistrements de taille fixe, et hop le tour est
joué.
Si c'est impossible (genre il y a une autre appli qui continue à
écrire dedans à l'ancien format), il faut trouver d'autre solutions,
certainement la création d'indexs bien choisis. Avec 1 milliard de
lignes (sic) il suffirait d'un index d'une dizaine de milliers de
lignes (donc
au pire 1000 tests) pour se ramener à une lecture brutale de
10.000 lignes (au pire).
On a alors des temps d'accès à l'info de l'ordre de 100 ms, pour une
taille d'index < 100 Ko :-) Que du bonheur!
"Aski" a écrit dans le message de
news:%Salutatoi Jean-Marc,<digression>
J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
visiblement
non indexé, dans lequel on "sait" à l'avance que l'information
recherchée est
à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
</digression>
Pour un tel fichier, je commencerais par créer un fichier à accès
direct tout bête.
Il serait peut-être plus gros, mais l'accès en serait tellement
simple et rapide ... ;-)
Je ferais ça aussi. Un petit préprocess pour transformer son fichier
en un fichier à enregistrements de taille fixe, et hop le tour est
joué.
Si c'est impossible (genre il y a une autre appli qui continue à
écrire dedans à l'ancien format), il faut trouver d'autre solutions,
certainement la création d'indexs bien choisis. Avec 1 milliard de
lignes (sic) il suffirait d'un index d'une dizaine de milliers de
lignes (donc
au pire 1000 tests) pour se ramener à une lecture brutale de
10.000 lignes (au pire).
On a alors des temps d'accès à l'info de l'ordre de 100 ms, pour une
taille d'index < 100 Ko :-) Que du bonheur!
"Aski" a écrit dans le message de
news:%
> Salutatoi Jean-Marc,
>
> > <digression>
> > J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
> > visiblement
> > non indexé, dans lequel on "sait" à l'avance que l'information
> > recherchée est
> > à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
> > </digression>
>
> Pour un tel fichier, je commencerais par créer un fichier à accès direct
> tout bête.
> Il serait peut-être plus gros, mais l'accès en serait tellement simple et
> rapide ... ;-)
Je ferais ça aussi. Un petit préprocess pour transformer son fichier en un
fichier à enregistrements de taille fixe, et hop le tour est joué.
Si c'est impossible (genre il y a une autre appli qui continue à écrire
dedans à l'ancien format), il faut trouver d'autre solutions, certainement
la création d'indexs bien choisis. Avec 1 milliard de lignes (sic) il
suffirait d'un index d'une dizaine de milliers de lignes (donc
au pire 1000 tests) pour se ramener à une lecture brutale de
10.000 lignes (au pire).
On a alors des temps d'accès à l'info de l'ordre de 100 ms, pour une taille
d'index < 100 Ko :-) Que du bonheur!
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Aski" <aski@asci.asc> a écrit dans le message de
news:%23ic2maI4FHA.1276@TK2MSFTNGP09.phx.gbl...
> Salutatoi Jean-Marc,
>
> > <digression>
> > J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
> > visiblement
> > non indexé, dans lequel on "sait" à l'avance que l'information
> > recherchée est
> > à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
> > </digression>
>
> Pour un tel fichier, je commencerais par créer un fichier à accès direct
> tout bête.
> Il serait peut-être plus gros, mais l'accès en serait tellement simple et
> rapide ... ;-)
Je ferais ça aussi. Un petit préprocess pour transformer son fichier en un
fichier à enregistrements de taille fixe, et hop le tour est joué.
Si c'est impossible (genre il y a une autre appli qui continue à écrire
dedans à l'ancien format), il faut trouver d'autre solutions, certainement
la création d'indexs bien choisis. Avec 1 milliard de lignes (sic) il
suffirait d'un index d'une dizaine de milliers de lignes (donc
au pire 1000 tests) pour se ramener à une lecture brutale de
10.000 lignes (au pire).
On a alors des temps d'accès à l'info de l'ordre de 100 ms, pour une taille
d'index < 100 Ko :-) Que du bonheur!
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Aski" a écrit dans le message de
news:%
> Salutatoi Jean-Marc,
>
> > <digression>
> > J'aimerais savoir en pratique l'usage d'un fichier texte de 4 Go,
> > visiblement
> > non indexé, dans lequel on "sait" à l'avance que l'information
> > recherchée est
> > à la ligne x ou y. Looping pourrait sans doute nous renseigner ?
> > </digression>
>
> Pour un tel fichier, je commencerais par créer un fichier à accès direct
> tout bête.
> Il serait peut-être plus gros, mais l'accès en serait tellement simple et
> rapide ... ;-)
Je ferais ça aussi. Un petit préprocess pour transformer son fichier en un
fichier à enregistrements de taille fixe, et hop le tour est joué.
Si c'est impossible (genre il y a une autre appli qui continue à écrire
dedans à l'ancien format), il faut trouver d'autre solutions, certainement
la création d'indexs bien choisis. Avec 1 milliard de lignes (sic) il
suffirait d'un index d'une dizaine de milliers de lignes (donc
au pire 1000 tests) pour se ramener à une lecture brutale de
10.000 lignes (au pire).
On a alors des temps d'accès à l'info de l'ordre de 100 ms, pour une taille
d'index < 100 Ko :-) Que du bonheur!
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
pour repondre a la digression, i ls'agit "tout simplement" d'un
enregistrement de données emises sur liaison série (pendant un
certain laps de temps ;)
et evidement la plupart des données sont a jeter... donc sur les 4 Go
il ne va plus rester grand chose.
j'ai deja essayé le petit bout de code de Aski et il me semble tout a
fait adapté et je vais l'utiliser.
Merci
pour repondre a la digression, i ls'agit "tout simplement" d'un
enregistrement de données emises sur liaison série (pendant un
certain laps de temps ;)
et evidement la plupart des données sont a jeter... donc sur les 4 Go
il ne va plus rester grand chose.
j'ai deja essayé le petit bout de code de Aski et il me semble tout a
fait adapté et je vais l'utiliser.
Merci
pour repondre a la digression, i ls'agit "tout simplement" d'un
enregistrement de données emises sur liaison série (pendant un
certain laps de temps ;)
et evidement la plupart des données sont a jeter... donc sur les 4 Go
il ne va plus rester grand chose.
j'ai deja essayé le petit bout de code de Aski et il me semble tout a
fait adapté et je vais l'utiliser.
Merci