次は、回答が得られたprevious questionの連続です。列の値が一致する既存のcsvに新しく生成されたハッシュテーブルを追加
オリジナルCSVは、以下の値を有する:
URL,Groups,contact,number test1.org,TestGroup,Ax;Bx;Cx,555 test2.org,TestGroup,Ax;Bx;Cx,555 Test3.com,TestGroup,Ax;Bx;Cx,555 Check.com,CheckGroup,Rx;Tx,333 Random.1.com,RandomGroup,Gy;Fy;Hy,999 random.22.org,RandomGroup,Gy;Fy;Hy,999
誰かが寛大Groups
ことによって、これをグループ化されたハッシュテーブルを生成し、コンマ(,
)で区切られた1つに各グループのすべてのURLを設定するためのコードを提供する助け。
コードはでした:
- をどのように私は、グループ内の最後の値のセミコロン(
;
)を削除しますか:私は2つの物事が答え$data = Import-Csv 'path' $hashtable = @{} foreach ($item in $data) { $hashtable[$($item.Groups)] += "$($item.URL); " }
必要がありますか?
- この新しいハッシュテーブルを元のCSVに戻すにはどうすればよいですか?
ロジックの考え方は、オリジナルであり、ハッシュテーブルのそれと一致するグループ名ごとに、URLフィールドにハッシュテーブルの値を挿入します。そんな感じ。
期待最終結果は(注文)のようなものでなければなりません。その後、グループごとにURL
フィールドを拡大し、セミコロンで結果の配列に参加し、Groups
フィールドで
Groups,URL,contact,number TestGroup,test1.org;test2.org;Test3.com,Ax;Bx;Cx,555 CheckGroup,Check.com,Rx;Tx,333 RandomGroup,Random.1.com;random.22.org,Gy;Fy;Hy,999
同じ 'Groups'値の後に常に同じ' contact'と 'number'値が続きますか? –
元のcsvで何が起こるか、このcsv outを吐き出したレポートは、グループの別々の行にURLを生成しました。連絡先と番号が結ばれているグループが表示されている理由は、URLが別々の行に吐き出されたために重複しています。 – ace23