2016-11-10 3 views
0

後の文字列を削除しますか?以前にもすべてのものをどのように削除しますか?私は...書かれた基礎を持って、そしてなど.substringとそれを操作するいくつかの見当違いの試みを試してみました:PowerShellのインポート、CSVは、各項目ごとに、記号

$allUsers = Import-Csv -path "c:\Folder1\All User.csv" 
$allUsers | foreach { 

} | Export-Csv -Path "c:\Folder1\Removed.csv" 

答えて

2

この場合、最も簡単な方法は、分割方法を使用することです:

$allUsers = Get-Content somepath | foreach { 
    $_.Split('.')[0] 
} | Set-Content somepath 

[0]はSplitによって作成された要素の配列から最初の要素を取ります.2つの要素、ドットの前のすべて、およびドットの後のすべてが存在します。あなたは[0]の代わりに[1]でドットの後ろのすべてを取ることができます。
また、Import-Csvを使用したくない場合もあります。この場合、生データを扱う方が簡単になるからです。

編集:

$data = Import-CSV somepath 
$results = @() 
foreach ($line in $data) { 
    $line.Column_that_needs_editing = $line.Column_that_needs_editing.Split('.')[0] 
    $results += $_ 
} 

$results | Export-CSV someotherpath 
+0

あなたは2番目のスクリプトでの$ line' 'に' $ _'を変更する必要があります。私はあなたの実際のCSVは、あなたがこのようなものを使用したい場合がありますどのように見えるかわからないからです。そして、ヘッダーがない場合には、インポート-csv – LotPings

+0

に '-header H1、H2'が含まれていますが、私はそれを行いますが、$ _でも;)ヘッダーに関しては、私は何の手がかりがなく、どれくらいの人がそこにいるのか分かりません。 – 4c74356b41

+0

皆さんは神様です!簡単なスクリプトが動作します!私はヘッダーatmなしで1列しか持っていません。ただの簡単な質問です。 'foreach($ data in $ data)の変数$ lineの名前は本当にどんな変数名でもかまいません。 – DrixlRey

関連する問題