Fichier CSV de montage à l'aide de PowerShell
J'ai besoin de le faire ci-dessous à l'aide de scripts PowerShell.
J'ai le dessous des données dans le fichier CSV. J'ai besoin d'ajouter un autre préfixe du nom en fonction de l'objet fourni
Name,Subject,Roll,Div
Mark,Agri,3,Div1,
Tom,CS,6,Div3,
Alex,Aero,9,Div6
Suppose que je suis fourni le sujet comme Agri
, le nom doit avoir un préfixe comme P-
. Si le même fichier CSV sera sauvé et avoir contenu ci-dessous
Name,Subject,Roll,Div
P-Mark,Agri,3,Div1,
Tom,CS,6,Div3,
Alex,Aero,9,Div6
Voici ce que j'ai à ce jour:
(Import-Csv E:\Test.csv -Delimiter ',') | ForEach-Object{
if($_.Subject -match "Agri" )
{
$_ = "P-" + "$_";
}
else
{
$_ = "F-" + "$_";
}
} | Export-Csv E:\Test.csv -Delimiter ','
Pouvons-nous voir ce que vous avez essayé jusqu'à présent?
OriginalL'auteur usr021986 | 2013-12-27
Vous devez vous connecter pour publier un commentaire.
Je n'étais pas en mesure de tuyau de cet ensemble - peut-être juste de l'ignorance de ma part sur powershell syntaxe. J'ai été en mesure de le faire avec les éléments suivants à l'aide de deux lignes:
Avis:
Devient
Laissez-moi essayer de tester avec des fichiers. Je l'ai testé tout garder en powershell et à l'aide de
ConvertFrom-Csv
.Ne ConvertFrom-Csv a fonctionné pour vous ?
Je vais avoir des ennuis de tuyauterie tout cela en une seule ligne. Si je stocker les
$csv
dans une variable, d'abord, et ensuite faire$csv | Export-Csv E:\Test.csv -Delimiter ','
puis il fonctionne très bien...Cela supprime ce fichier lors de l'exportation.
OriginalL'auteur crush
Il me semble que l'usage de la parenthèse dans la clause suivante.
à attribuer aux
$csv
la sortie deImport-Csv
AVANT le ForEach de traitement et, par conséquent, le ForEach effets sont complètement perdus. Pas sûrce que vous fin est dans l'utilisation de ces parenthèse.
OriginalL'auteur Greg