1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
<?php
function CSV($fichier) {
$donnees = array();
$header = "";
if (($handle = fopen($fichier, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";",'"')) !== FALSE) {
if ($header == "") {
$header = $data;
} else {
$donnees[] = $data;
}
}
fclose($handle);
$retour = array();
$retour[0] = $header;
$retour[1] = $donnees;
return $retour;
}
return false;
}
//---- Fichier avec id en position 0
$fichier_droite = CSV("droite.csv");
$droite = $fichier_droite[1];
$header_droite = $fichier_droite[0];
//---- Fichier avec id en position 12
$fichier_gauche = CSV("gauche.csv");
$gauche = $fichier_gauche[1];
$header_gauche = $fichier_gauche[0];
//---- Fusion
$array_fusionne = array();
foreach($droite as $ligneD) {
$idD = $ligneD[0];
foreach($gauche as $ligneG) {
$idG = $ligneG[12];
if ($idD == $idG) {
$array_fusionne[] = array_merge($ligneD,$ligneG);
}
}
}
//---- Fichier fusionné
$handle = fopen('fichier_fusionne.csv', 'w');
//-- Entêtes
$entete = array_merge($header_droite,$header_gauche);
fputcsv($handle, $entete,";",'"');
//-- Lignes
foreach ($array_fusionne as $fields) {
fputcsv($handle, $fields,";",'"');
}
fclose($handle);
print "Fini"; |
Partager