fusion 2 csv (jointure)

fusion 2 csv (jointure) - PHP - Programmation

Marsh Posté le 03-08-2017 à 14:25:03    

bonjour,
 
je cherche a fusionner 2 fichier csv en un seul
 
FICHIER1.csv
codage,prenom,nom,matricule
 
FICHIER2.csv
codage,numeroserie
 
je voudrait un fichier final
codage,prenom,nom,matricule,numeroserie
 
merci de votre aide
 


---------------
tu te rends compte si on avé pas perdu 1h15 on seré la depuis 1h15 (c) jojo national Paris Dakar 2002...
Reply

Marsh Posté le 03-08-2017 à 14:25:03   

Reply

Marsh Posté le 03-08-2017 à 14:30:15    

Bonjour,
 
Quelle est la question? :??:


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 03-08-2017 à 14:39:09    

je voudrais a partir de ces 2 fichiers en faire un seul

Reply

Marsh Posté le 03-08-2017 à 15:23:19    

Si j'en ai compris l'idée, c'est plutôt trivial si codage est unique :

Code :
  1. // Tableau qui va contenir les lignes du CSV final (assemblage des deux autres)
  2. $lines = [];
  3.  
  4. // on lit le premier CSV et la valeur du champ codage sert de clé
  5. if (!($fp = fopen('FICHIER1.csv', 'r'))) {
  6.    die('échec ouverture de FICHIER1.csv en lecture');
  7. }
  8. while ($line = fgetcsv($fp))) {
  9.    $lines[$line[0]] = $line;
  10. }
  11. fclose($fp);
  12.  
  13. // on lit le second CSV en rajoutant la valeur du numeroserie au tableau $lines où codage correspond
  14. if (!($fp = fopen('FICHIER2.csv', 'r'))) {
  15.    die('échec ouverture de FICHIER2.csv en lecture');
  16. }
  17. while ($line = fgetcsv($fp))) {
  18.    $lines[$line[0]][] = $line[1];
  19. }
  20. fclose($fp);
  21.  
  22. // enfin, on écrit le fichier CSV résultant de cet assemblage (notre tableau $lines)
  23. if (!($fp = fopen('FICHIER3.csv', 'w'))) {
  24.    die('échec ouverture de FICHIER3.csv en écriture');
  25. }
  26. foreach ($lines as $line) {
  27.    fputcsv($fp, $line);
  28. }
  29. fclose($fp);


Message édité par pluj le 03-08-2017 à 15:29:34
Reply

Sujets relatifs:

Leave a Replay

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