bonjour ,
j'ai un fichier contenant des millions de lignes (4000000) , je veux ecrire un alogo qui au hasard me permet d'extraire 10000 lignes ,
je n'ai pas trouvé l'idée comment faire !
qqun peut m'aider
bonjour ,
j'ai un fichier contenant des millions de lignes (4000000) , je veux ecrire un alogo qui au hasard me permet d'extraire 10000 lignes ,
je n'ai pas trouvé l'idée comment faire !
qqun peut m'aider
Si c'est un fichier texte dont les lignes ont des longueurs variables, tu es obligé de lire le fichier séquentiellement.
Une manière de faire est de tirer 10000 nombres au hasard entre 0 et ton nombre de lignes, de les trier par ordre croissant dans un tableau, puis de parcourir le tableau en lisant à chaque fois le bon nombre de lignes pour arriver sur celles qui t'intéressent :
C'est un schéma général. Il reste à gérer les éventuels doublons dans les nombres tirés au hasard (les supprimer et éventuellement en générer de nouveaux si tu veux exactement 10000 lignes).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 T[0] <- 0 Pour i de 1 à 10000 T[i] <- hasard(4000000) FPour Trier T par ordre croissant Pour i de 1 à 10000 Lire T[i]-T[i-1] lignes Traiter la dernière ligne lue Fin Pour
si c'est pour constituer un échantillon un simple modulo taille fichier/taille de l'échantillon devrait suffire
merci borisd c super
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager