2016-11-16 12 views
0

私は約10 k行のCSVダンプを持っています。私はPowershellを使用してストアフィールドに基づいて複数のファイルでこれを分割しようとしています。このデータに基づいてフィールドに基づいてマスターcsvファイルからファイルを作成

マスターファイルの内容

Date, Store, Product 
11/16 NYC 100 
11/16 NYC 101 
11/16 BOS 100 
11/16 BOS 101 

、私はNYCとそれに対応する内容でBOSのために別のためのファイルを作成する必要があります。

私は速いものを欲しいです。私は各ラインをループして前にラインをチェックして比較することを考えましたが、それは遅すぎるかもしれないと思いました。

は、それから私は、私は、各オブジェクトの内容を取得し、新しいファイルを作成しようとしている

import-csv C:\masteFile.csv | Group-Object{$_.store} 
The output is 
Count Name Group 
2  NYC {@{DATE=11/06; STORE=NYC; PRODUCT=100},{@{DATE=11/06; STORE=NYC; PRODUCT=101}} 
3  BOS {@{DATE=11/06; STORE=BOS; PRODUCT=100},{@{DATE=11/06; STORE=BOS; PRODUCT=101}}... AND SO ON 

グループ-Objectコマンドレットを使用するのではと思いました。

答えて

2

結果にそれは、入力ファイルを読み込み、グループ入力の内容を、その後、グループごとに

Import-Csv C:\masteFile.csv | Group-Object Store | ForEach-Object { $_.Group | Export-Csv "$($_.Name).csv" } 

を実行してみてくださいは、グループの名前を持つ、グループの内容を含む、新しいCSVファイルを作成します。

+0

ありがとうございます。これ大好き! – causita

関連する問題