Editer fichier csv avec php: recherche/remplacer
6 messages
• Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- arnoweb
- WRInaute discret

- Messages: 87
- Inscription: 24 Juil 2004
Editer fichier csv avec php: recherche/remplacer
Bonjour à tous,
J'ai un petit soucis pour traiter un fichier csv avec php
J'aimerais que php fasse un rechercher/remplacer. (recherche dans colonne A et écrit dans colonne B)
Lorsque la colonne nom contient le mot-clé "chemise", php doit modifier la colonne rubrique et écrire 1.
Lorsque la colonne nom contient le mot-clé "costume", php doit modifier la colonne rubrique et écrire 2.
Lorsque la colonne nom contient le mot-clé "cravate", php doit modifier la colonne rubrique et écrire 3.
etc .........
Avez-vous une idée ?
Merci pour votre aide.
J'ai un petit soucis pour traiter un fichier csv avec php
J'aimerais que php fasse un rechercher/remplacer. (recherche dans colonne A et écrit dans colonne B)
Lorsque la colonne nom contient le mot-clé "chemise", php doit modifier la colonne rubrique et écrire 1.
Lorsque la colonne nom contient le mot-clé "costume", php doit modifier la colonne rubrique et écrire 2.
Lorsque la colonne nom contient le mot-clé "cravate", php doit modifier la colonne rubrique et écrire 3.
etc .........
Avez-vous une idée ?
Merci pour votre aide.
-

UsagiYojimbo - WRInaute accro

- Messages: 8575
- Inscription: 23 Nov 2005
Re: Editer fichier csv avec php: recherche/remplacer
Tu vas devoir traiter ton fichier ligne par ligne pour ça, en passant notamment par la fonction fgetcsv : http://php.net/manual/fr/function.fgetcsv.php, et en faisant des tests sur les colonnes qui déterminent si tu dois modifier ou non la ligne en cours.
Au fur et à mesure de tes remplacements, tu concatènes la ligne mise à jour (ou non) dans une variable intermédiaire que tu sauvegarde en fin de parcours.
Au fur et à mesure de tes remplacements, tu concatènes la ligne mise à jour (ou non) dans une variable intermédiaire que tu sauvegarde en fin de parcours.
- arnoweb
- WRInaute discret

- Messages: 87
- Inscription: 24 Juil 2004
Re: Editer fichier csv avec php: recherche/remplacer
merci pour ta réponse.
Quand tu dis "ligne par ligne" tu veux dire que je dois utiliser la fonction while ?
Tu pourrais me donner un exemple de code ?
Je ne vois pas comment parcourir mon tableau pour atteindre la colonne à rechercher.
Et je ne vois pas comment écrire dans la colonne qui doit être éditée.
Merci.
Quand tu dis "ligne par ligne" tu veux dire que je dois utiliser la fonction while ?
Tu pourrais me donner un exemple de code ?
Je ne vois pas comment parcourir mon tableau pour atteindre la colonne à rechercher.
Et je ne vois pas comment écrire dans la colonne qui doit être éditée.
Merci.
-

UsagiYojimbo - WRInaute accro

- Messages: 8575
- Inscription: 23 Nov 2005
Re: Editer fichier csv avec php: recherche/remplacer
Il y a sans doute moyen d'optimiser ça, vu que j'ai pondu ça au saut du lit, mais ça semble faire ce que tu attends :
- Code: Tout sélectionner
<?php
$row = 0;
$update = "";
//on stocke en variable le séparateur de csv utilisé
$separator = ";";
//on crée deux variables contenant les index des colonnes à lire / modifier
$idx_nom = 0;
$idx_rubrique = 1;
//on ouvre le fichier en écriture
if (($handle = fopen("test.csv", "r")) !== FALSE)
{
//on parcours le fichier ligne à ligne, en stockant dans un tableau les donnée
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
//on ne commande qu'à la deuxième ligne, su la première contient les entêtes de colonnes
if ($row != 0)
{
//on fait les tests sur le nom
if (stristr($data[$idx_nom], 'chemise'))
{
$data[$idx_rubrique] = 1;
}
else if (stristr($data[$idx_nom], 'costume'))
{
$data[$idx_rubrique] = 2;
}
else if (stristr($data[$idx_nom], 'cravate'))
{
$data[$idx_rubrique] = 3;
}
}
$update .= implode($separator,$data)."\r\n";
$row++;
}
fclose($handle);
}
//on ouvre le fichier en ecriture et on le met à jour
$ouvre=fopen("test.csv","w+");
fwrite($ouvre,$update);
fclose($ouvre);
?>
6 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Comment éditer un fichier cron à partir de PHP ?
- Ecrire un fichier CSV en php
- nom de colonne pour fichier csv en php
- Faut-il toujours éditer un fichier robots.txt
- Fonction PHP qui faut editer dans php.ini
- Transferer un fichier CSV
- editer un pdf en php
- Editer le php.ini
- besoin d'un fichier csv
- mysql, fichier csv et accents
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


