我目前正在學習 PowerShell,并且我有一個作業,我有一組 CSV 檔案,其中包含有關每月每一天每天的能源使用量(如 E_TodayKwH)的(任意)資料。我需要總結每天的值以獲得每月值,并且我需要創建一個 CSV 檔案,其中包含有關每月能源使用的所有資料。最后,我需要創建一個函式,允許用戶輸入從哪里獲取資料并為他們總結。
我在努力學習,所以我在一個一個地解決問題,但我被困在這一步;我想獲得每個 CSV 檔案的資料 E_TodayKwH 的總和值。我的直覺說我應該在我的 $Source 變數上使用 ForEach 回圈或 ForEach-Object(見下文),然后使用 Measure-Object 來獲取值的總和。但是,我似乎只能得到所有 CSV 檔案的總和,而不是每個 CSV 的總和。
(相關)代碼:
$Directory = gci 'C:\Projects\Jr_2014\*.csv'
$Source = Import-CSV $Directory -Delimiter ";"
$Source | Measure-Object E_TodayKwh -Sum
這將輸出一個值,該值是由 $Source 匯入的所有值的總和(即全年 E_TodayKwH 的總值)。
所以我嘗試了一個 ForEach 回圈:
ForEach($File in $Source) { Measure-Object E_TodayKwh -Sum }
但是,這根本沒有輸出(也沒有錯誤訊息)。
$Source | ForEach-Object { Measure-Object E_TodayKwh -Sum }
也沒有輸出(也沒有錯誤訊息)。
我懷疑因為我在 $Source PowerShell 中一次匯入所有內容,所以無法識別ForEach/ ForEach-Object。但是我不確定如何進行。我希望我能在這里得到一些建議!
uj5u.com熱心網友回復:
你在正確的軌道上并且非常接近!
您對檔案使用 foreach 回圈是正確的。為簡單起見,我盡可能少地修改了您的代碼。它將像您一樣遍歷檔案,但隨后它將匯入該迭代 csv 并對其進行測量。
$Directory = gci 'C:\Projects\Jr_2014\*.csv'
ForEach($File in $Directory) {
$Source = Import-CSV $File -Delimiter ";"
$Source | Measure-Object E_TodayKwh -Sum
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/437599.html
標籤:电源外壳
