2016-12-09 2 views
0

I Avoir un CSV avec des données.Importer la colonne à partir de CSV et remplacer la virgule

Exemple:

Userid,sid,objectclass,Name 
Jsmith,3513144,user,"Smith, John" 
Mrodgers,1234456,User,"Rodgers, Mr" 
Hsimpson,122345,User,"Hommer, Simpson"

Je suis en train de supprimer les virgules dans le nom. J'ai du mal à faire un remplacement et à exporter parce que j'ai besoin des données dans les deux autres colonnes pour l'accompagner. Je peux exporter juste la colonne de nom aucun problème mais ne peux pas comprendre comment obtenir le userid et le SID dans le même CSV. Est-ce que quelqu'un a une idée de comment faire cela?

+0

S'il vous plaît montre le contenu réel de votre fichier CSV (ouvrez-le avec un éditeur de texte, copiez et collez). Vous pouvez masquer les valeurs, mais nous devons voir les structures réelles. –

+0

bien, vous ne même pas besoin d'importer des fichiers CSV, il suffit de remplacer par des virgules avec l'espace – 4c74356b41

+0

Voici un exemple des CSV userId, sid, objectClass, Nom Jsmith, 3513144, utilisateur, "Smith, John" Mrodgers, 1234456, utilisateur, "Rodgers, M." Hsimpson, 122345, utilisateur, "Hommer, Simpson" – doobis

Répondre

1

Importation CSV, retirez les virgules du champ Name, puis exporter les données vers votre CSV:

$csv = 'C:\path\to\your.csv' 

(Import-Csv $csv) | ForEach-Object { 
    $_.Name = $_.Name -replace ',' 
    $_ # echo modified object back to pipeline 
} | Export-Csv $csv -NoType 
+0

pourquoi ne pas juste analyser avec regex? Celui-ci est terrible sur la performance – 4c74356b41

+0

@ 4c74356b41 Parce que c'est * loin * moins sujette aux erreurs, et la performance est très probablement assez bon. L'optimisation prématurée est la racine de tout Mal. –

+0

Cela a juste fait pour moi mais si vous pouvez me donner un meilleur exemple je l'utiliserais. Merci Monsieur. – doobis

0

Cela devrait faire votre travail. Après cela, vous pouvez exporter si u souhaitez

$Import= Import-Csv E:\BookName.csv 
$Import -replace ',', '' 

Hope it helps

+0

Cela ne supprime pas les virgules pour moi désolé. – doobis

+0

est-ce ..Pour vous s'il vous plaît partager votre fichier quelque part. Je veux regarder –