[CSV] Modifier valeur d'une cellule
Bonjour à tous,
Je souhaiterai modifier la valeur d'une cellule d'un fichier CSV :
J'ai un fichier A.csv qui ressemble à
Code:
1 2 3 4
|
Nom;Prenom;Age;Login
Astley;Rick;99;ia123
Montagnie;Gilbert;666;ib456 |
J'ai effectué une copie grace à un fgetcsv et un fputcsv qui me donne un fichier B.csv identique au A.
J'aimerai pouvoir modifier une cellule du fichier B, par exemple le prénom.
Code:
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
|
<?php
$handle = fopen("toast.csv", "r");
$fp = fopen("copie.csv", 'w+');
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE){
$ligne = $data;
fputcsv($fp, $ligne, ";", "'");
}
while (($modif = fgetcsv($fp, 1000, ";")) !== FALSE){
$champ = count($modif);
for ($i=0; $i <$champ ; $i++) {
if $modif[$i] == 'Prenom'
{
$modif[$i] = 'essai';
}
}
}
fclose($handle);
fclose($fp);
?> |
Par la suite, j'aimerai, au lieu de modifier à la main, pouvoir importer une fonction qui modifiera automatiquement le login :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
function convertirId($a){
switch($a){
case 'ia':
echo "208\n";
break;
case 'ib':
echo "209\n";
break;
}
return($a);
}
?> |
Rick Astley dans le fichier B.csv aura donc un login correspondant à ia123 => 208123