簡體   English   中英

Powershell:數組與哈希表(或兩者)不確定如何繼續

[英]Powershell: Array vs Hashtable (or both) not sure how to proceed

我有以下powershell腳本:

$grouped_TPR_Test1=Import-Csv c:\TPR.csv | group UPC -AsHashTable -AsString
Import-Csv c:\HQ.csv  | foreach{
$tpr_Sales=($grouped_TPR_Test1."$($_.UPC)" | foreach {$_.TPR_Sales}) -join ","
$_ | Add-Member -MemberType NoteProperty -Name TPR_SALES -Value $tpr_Sales -PassThru 
} | Export-Csv -NoTypeInformation c:\HQ_TPR_sales.csv

它查找/匹配文件c:\\ TPR.csv中的UPC值與此文件中的相同值。 c:\\ HQ.csv並將相應的銷售數據從輸出到第三個文件,該文件包含c:\\ HQ.csv中的所有字段以及c:\\ TPR.csv中UPC上匹配的其他字段

這可行。

但是,我不確定如何添加第二個字段來檢查( “ Zone” ,以縮小發送到第3個輸出文件的結果的范圍。兩個文件都具有zone字段。

我對此有所了解,並且數組似乎更適合於多個條件,而不是哈希表,但是我運氣不高。

c:\HQ.csv looks essentially like this:                                    

UPC           ZONE column1  column2  column3
1234567890123   3    blah1  blah2    blah3

c:\TPR.csv looks essentially like this:

UPC            ZONE sales
1234567890123   3   5.00
1234567890123   2   4.00
3210987654321   2   3.00

任何幫助表示贊賞。

謝謝!

您只需在結果文件上使用WHERE-OBJECT即可拉出您感興趣的區域:

Import-CSV c:\HQ_TPR_sales.csv | WHERE-OBJECT {$_.Zone -eq 2}

或者在導出csv之前將WHERE-OBJECT放入管道中:

... | ? {$_.Zone -eq 2} | Export-CSV ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM