Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/07/2006, à 19:11

cb68

comment compter le nombre de ligne d'un fichier texte

Bonjour,

J'ai un fichier texte csv que je dois importer dans une base mysql en php. Il me faut faire un controle que ma table a bien tous les enregistrements.

Quelqu'un a une idée ( ce fichier a plus 2 000 000  de lignes ). J'ai commencé de le lire une premiere fois juste pour compter le nombre de ligne puis je le traite mais c'est assez long.
Il y a peut être une solution avec une seule ligne.


Kubuntu 6.06 depuis 2006-07-21
les avancés de linux :
http://cb68.free.fr/cb/linux.php

Hors ligne

#2 Le 31/07/2006, à 19:21

cep

Re : comment compter le nombre de ligne d'un fichier texte

wc -l le_fichier

Hors ligne

#3 Le 31/07/2006, à 19:22

alexmic

Re : comment compter le nombre de ligne d'un fichier texte

A première vue je dirais que n'importe quel éditeur (kate/kwrite/vi) te permet d'afficher les numéros de ligne. Donc si c'est un truc à faire tous les six mois, moi je ferais ouvrir avec kwrite afficher les lignes Ctrl-fin et vérification.

Sinon la première idée qui me vient en programation serait de le coller ligne par ligne dans un tableau et le nombre de lignes du tableau (+1) te donne ton nombre de ligne.

Ou alors compter les """\n""" dans le string du fichier...

Mais tout ça est très lourd (mémoire etc).

Tu le fais en quel language? y'a peut-être une librairie qui le fera pour toi?


Edit
Argh grillé

Dernière modification par alexmic (Le 31/07/2006, à 19:23)


OMG Lawl pwnd rofl... Plaît-il?

Hors ligne

#4 Le 31/07/2006, à 21:48

cb68

Re : comment compter le nombre de ligne d'un fichier texte

Je le fais en php. Ce que j'ai trouvé c'est

$fp = fopen("$fichier", "r");
      $ligne = fgets($fp,4096); 
        while (!feof($fp) )
        {
    $nblig += 1 ;
    }
$nblig me donne le nombre de ligne c'est un peu moins lourd que ton tableau mais je me demandais si il n'y avait pas quelque chose de mieux.

Il faudra que je test
wc -l le_fichier
Le problèm je ne sais pas si je peux lancer du bash avec .

Dernière modification par cb68 (Le 31/07/2006, à 21:49)


Kubuntu 6.06 depuis 2006-07-21
les avancés de linux :
http://cb68.free.fr/cb/linux.php

Hors ligne

#5 Le 31/07/2006, à 22:53

jnizzoli

Re : comment compter le nombre de ligne d'un fichier texte

Bonsoir,

Il faudra que je test
wc -l le_fichier
Le problèm je ne sais pas si je peux lancer du bash avec

Pour lancer une commande, tu peux utiliser la fonction system(), pour plus d'info :
http://fr.php.net/manual/fr/function.system.php

Dernière modification par jnizzoli (Le 31/07/2006, à 22:54)

Hors ligne

#6 Le 18/08/2006, à 16:38

???

Re : comment compter le nombre de ligne d'un fichier texte

Salut,

en bash wc -l c'est nickel,

si tu veux le faire en php, t'as plus simple que ton code

$lignes = file($fichier);
$nb_lignes = count($lignes);

c'est plus rapide que de faire ta boucle

#7 Le 18/08/2006, à 17:15

coffee

Re : comment compter le nombre de ligne d'un fichier texte

jnizzoli a écrit :

Pour lancer une commande, tu peux utiliser la fonction system(), pour plus d'info :
http://fr.php.net/manual/fr/function.system.php

Il faut que la commande soit utilisable, tous les serveurs web ne l'active pas wink

sinon, wc -l en ligne de commande et une requete count suffise si tu fais l'entrée qu'une fois.


Nom d'un tupperware habillé en streetware mangeant de la confiture de pouère et qui se dite où est-ce que je suis ouère !
Tiens mon blog
Les blagues sous forme de fausses aides sont susceptible de ban (ex: rm)

Hors ligne