#1 Le 31/07/2006, à 18: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, à 18:21
- cep
Hors ligne
#3 Le 31/07/2006, à 18: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, à 18:23)
OMG Lawl pwnd rofl... Plaît-il?
Hors ligne
#4 Le 31/07/2006, à 20: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, à 20: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, à 21: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, à 21:54)
Hors ligne
#6 Le 18/08/2006, à 15: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, à 16:15
- coffee
Re : comment compter le nombre de ligne d'un fichier texte
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
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