Question [Résolu]importer et modifier un csv

Plus d'informations
il y a 16 ans 8 mois #4939 par Gabriel
Salut a tous. :lol:

j'aimerais savoir comment modifier les propriétés d'un objet contenant l'import d'un csv, pour ensuite le sauver dans le fichier csv importé.

Fichier csv
[code:1]
Propriete_A,Propriete_B,Propriete_C
robert,homeworld,gll
marcel,doom,glo
[/code:1]

je souhaite importer le fichier csv, et modifier la 3eme valeur par exemple en fonction des 2 premieres.
Je sais importer dans une valeur et je sais generer la valeur
[code:1]
$a = import-csv toto.csv
$a | foreach-object {\"jeux_\" + $_.Propriete_A + \"-\" + $_.Propriete_B}
[/code:1]

mais comment le faire pour que ce soit les valeurs de l'objet qui soit modifier, pour apres faire un export-csv?

merci de vos lumieres

Message édité par: tonic8, à: 23/07/09 11:24

Message édité par: tonic8, à: 6/08/09 19:35<br><br>Message édité par: tonic8, à: 13/08/09 17:35

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 7 mois #4958 par Arnaud Petitjean
Salut Tonic8 !

Et bien tout simplement comme si tu manipulais un tableau. A savoir, par exemple pour modifier la valeur correspondant à \&quot;homeworld\&quot; :

[code:1]
$a = import-csv toto.csv
$a[0].Propriete_B=\&quot;homecity\&quot;[/code:1]

résultat :

[code:1]
Propriete_A Propriete_B Propriete_C


robert Titi gll
marcel doom glo
[/code:1]

Ensuite tu n'as plus qu'à exporter ton tableau avec la commande Export-CSV:

[code:1]
$a | export-csv toto_modifie.csv
[/code:1]

Voilà...

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 7 mois #4966 par Gabriel
Réponse de Gabriel sur le sujet Re:importer et modifier un csv
:ohmy: je savais que c'etait bateau... je cherchais dans les set-property et autre cmdlet grrr.

Merci Arnaud :woohoo:<br><br>Message édité par: tonic8, à: 23/07/09 11:23

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 7 mois #5042 par Gabriel
Réponse de Gabriel sur le sujet Re:importer et modifier un csv
ben euh j'ai une autre question, comment me servir d'un foreach pour editer toutes les valeurs d'un champs, je m'explique:

[code:1]Propriete_A Propriete_B Propriete_C


robert 12 gll
marcel 1024 glo
riri 3 glo
fifi 2048 glo
loulou 1024 glo
[/code:1]

à la propriete_B je dois lui passer une operation en l'ocurrence une fonction qui manipule et sort un autre resultat et qui l'enregistre a la place, genre
[code:1]
$a = import-csv toto.csv

foreach ($propriete in $a.Propriete_B«») {
maFonction ($propriete)
$a[0].Propriete_B=$propriete
[/code:1]

??? merchi d'avance
p.s.: je change le status du post le temps de la reponse...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 7 mois #5053 par Laurent Dardenne
Salut,
quitte à utiliser une boucle autant utiliser le cmdlet foreach (pipeline) :
[code:1]
#avec \&quot;C:\temp\test.csv\&quot; =
#Email,Fullname
#email01@domain.fr,test01
#email02@domain.fr,test02
#email03@domain.fr,test03

function make($s) {$s.ToUpper()}

Import-csv \&quot;C:\temp\test.csv\&quot;|
foreach {
$_.Fullname=Make $_.Fullname
$_
}|
export-csv \&quot;C:\temp\test_modifie.csv\&quot; -noTypeInformation

type \&quot;C:\temp\test.csv\&quot;
type \&quot;C:\temp\test_modifie.csv\&quot;
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.061 secondes
Propulsé par Kunena