[divers] Supprimer les retours à ligne présents dans fichier texte

Supprimer les retours à ligne présents dans fichier texte [divers] - Divers - Programmation

Marsh Posté le 09-09-2004 à 15:09:02    

salut
 
voici j'ai un fichier texte (csv) qui contient des retours à ligne (retour  chariot + saut de ligne ) , lorsque j'importe ça dans MySQL Manager, j'ai qq petit petit pb, vs comprenez bien, connaissez vous un soft , ou astuce qui permette de se debarrasser de ces saut de lignes ?
 
merci infiniment
 
ps : je ne souhaite pas faire ça la main, il y a 2277 lignes :O


Message édité par FairLight le 09-09-2004 à 15:34:15

---------------
Les ventes de voitures ont chutées de 7 %, arrêtons de télécharger des voitures sur internet...
Reply

Marsh Posté le 09-09-2004 à 15:09:02   

Reply

Marsh Posté le 09-09-2004 à 15:54:33    

ds ton mysql manager il te demande pas c quoi les fins de lignes ?
si tu lui mets /r/n ca marche po ?.

Reply

Marsh Posté le 09-09-2004 à 16:50:06    

non, c'est vrai qu'il est un peu con, il me met  
Delimiter [;] Quote ["]
 
'Delimiter' c'est pour delimiter les champs, quote je ne sait pas trops... en fait les fin de lignes pour lui ça sera toujours /n/r (retour chariot+saut de ligne)
 
mais je suis en train de faire un script php pour virer ces     retour a la ligne..  
 
merci de ton aide ;)


---------------
Les ventes de voitures ont chutées de 7 %, arrêtons de télécharger des voitures sur internet...
Reply

Marsh Posté le 09-09-2004 à 18:22:31    

ainsi donc voici le script qui m'eneleve ce satané saut ligne (\n seul en fait)
 

Code :
  1. $var = "";
  2. $fichier='Classeur2.csv';
  3. $contenu = fread(fopen($fichier, "r" ), filesize($fichier));
  4. $ligne = explode("marqueur;",$contenu); //\n
  5. foreach ($ligne as $k => $v) {
  6. $v2 = "";
  7. if (ereg("\n",$v,$regs) == TRUE) {
  8.  $v1 = explode("\n",$v);
  9.  for ($i=0;$i<(count($v1)-1);$i++){
  10.  $v2 .= $v1["$i"];
  11.  }
  12. }
  13. $var .= $v2."\n";
  14. }
  15. $somecontent =   ( $var  );
  16. $filename = 'test.csv';
  17. if (is_writable($filename)) {
  18.     // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
  19.     // Le pointeur de fichier est placé à la fin du fichier
  20.     // c'est là que $somecontent sera placé
  21.     if (!$handle = fopen($filename, 'a')) {
  22.          echo "Impossible d'ouvrir le fichier ($filename)";
  23.          exit;
  24.     }
  25.     // Ecrivons quelque chose dans notre fichier.
  26.     if (fwrite($handle, $somecontent) === FALSE) {
  27.        echo "Impossible d'écrire dans le fichier ($filename)";
  28.        exit;
  29.     }
  30.    
  31.     echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi";
  32.    
  33.     fclose($handle);
  34.                    
  35. } else {
  36.     echo "Le fichier $filename n'est pas accessible en écriture.";
  37. }


 
[:super chinois]


---------------
Les ventes de voitures ont chutées de 7 %, arrêtons de télécharger des voitures sur internet...
Reply

Marsh Posté le 13-09-2004 à 16:29:32    

Personnellement, j'édite sous emacs ou xemacs et je les retire tous d'un coup avec la commande replace (suivit de !). Les retours chariot apparaissent chez moi sous la forme de " ^M ".

Reply

Marsh Posté le 13-09-2004 à 16:34:55    

fromdos ou dos2unix font ça très bien sous Unix (et donc sous Linux).  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed