這是一個初學者問題,但經過數小時的嘗試,我仍然不知道,有什么比創建 3 個不同的 forloops 或具有 if-decisions 的 forloops 更好:
示例代碼:
$a = 1,2,3
$b = 5,6,7,8,9
$c = 4, 10
$test = [PSCustomObject]@{
A = $a
B = $b
C = $c
}
$test
我得到輸出:
A B C
- - -
{1, 2, 3} {5, 6, 7, 8...} {4, 10}
我嘗試使用這個簡單的示例,最好匯出一個帶有每列標題的 csv 檔案(如上所示),但值不像這里那樣在一行中。所以我得到了一個包含所有 1000 個真實值的標題表問題。每列的額外檔案似乎也不是最佳解決方案..
我正在尋找一個版本來獲得類似的輸出(但對于所有資料):
A,B,C
1,5,4
2,6,10
3,7,
,8,
...
當我遍歷輸入并為每一行創建一個 PSCustomObject 時,我可以得到這個,但是當我想到不同的長度時,我想到了 3 個回圈。一個帶有一些額外代碼的回圈以避免索引錯誤。有些東西總是告訴我,這是一項簡單的任務,但我找不到優雅的解決方案。
我欣賞每一個想法!
謝謝
uj5u.com熱心網友回復:
這是使用while回圈執行此操作并Measure-Object獲得 3 上元素的最大計數的一種方法arrays:
$a = 1,2,3
$b = 5,6,7,8,9
$c = 4,10
$max = $a.Count, $b.Count, $c.Count | Measure-Object -Maximum
$i = 0
$result = while($max.Maximum--)
{
[pscustomobject]@{
A = $a[$i]
B = $b[$i]
C = $c[$i]
}
$i
}
現在查看您的預期輸出,似乎您想將資料匯出到 CSV,在這種情況下,您將使用Export-Csv,如果您只想轉換資料但不匯出它,您可以使用ConvertTo-Csv:
PS /> $result | ConvertTo-Csv -NoTypeInformation
"A","B","C"
"1","5","4"
"2","6","10"
"3","7",
,"8",
,"9",
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/379959.html
上一篇:使用檔案夾移動檔案
