我想檢查.csv數據庫的「Code」屬性的值。如果「代碼」字段的前三個字符等於(-eq)到「產品」的前三個字符,則顯示結果數(計數)並將輸入添加到.csv數據庫。Powershell Import-Csv結果數
但是,計數不會顯示爲結果爲空。
foreach ($row in $InventoryContents)
{
#Lets build a String first
$exportString = $row.User +','+$row.Product+','+$row.Company+','+$row.Model+',';
#Everything right so far
#first three characters of Product
$firstKey = $row.Product.SubString(0,3).ToUpper()
echo $firstKey;
#problem here
$nonSortedContents = Import-Csv $nonSortedCsv | where-Object { ($_.Code.split('-')[0]) -eq $firstKey }
#but arrapently this works : Import-Csv $nonSortedCsv| where-Object { ($_.Code.split('-')[0]) -eq "MON"}
$lines = $nonSortedContents.count
echo $lines
#null
#if not enetered
if ($lines -eq $null)
{
$wholeKey = $firstKey +'-'+ ("{0:D5}" -f 0).ToString()
$exportString = $exportString + $wholeKey
$exportString -join "," >> $nonSortedCsv
}
else
{
$wholeKey = $firstKey +'-'+ ("{0:D5}" -f $lines).ToString()
$exportString = $exportString + $wholeKey
$exportString -join "," >> $nonSortedCsv
}
}
我得到了它與
$ nonSortedContents = @(進口-CSV $ nonSortedCsv工作|。其中,對象{($ _ Code.split( ' - ')[0] )-eq $ firstKey})
顯然,當CSV文件中只有一行時,Import-Csv會返回一個 PSCustomObject。當有多行時,返回的對象是一個 Object []。
感謝。遇到同樣的問題。 – grenade