我想獲得一個單元格輸出另一個單元格的行的計算。有些單元格計算錯誤。CSV中的單元格計算不正確。顯示錯誤的數字。獲取錯誤
這裏是我的樣本數據:
Total Devices Vulnerability Description Comments Row1 3 Plugin:1234 Host1.Domain Device Affected: Host4.Domain Host1.Domain Host5.Domain
Row2 12 Plugin:5678 Host2.Domain Device Affected: Host3.Domain Host2.Domain
應該
Total Devices Vulnerability Description Comments Row1 3 Plugin:1234 Host1.Domain Device Affected: Host4.Domain Host1.Domain Host5.Domain
Row2 1 Plugin:5678 Host2.Domain Device Affected: Host2.Domain
我的代碼:
#定義我們要刪除 $ PendingRemoval = 「Host3.Domain」, 「Host6.Domain」 主機名
# Import the original data set
$Data = Import-Csv .\Old.csv
for($i = 0; $i -lt $data.Count; $i++)
{
# Grab all hostnames from the comments field
$HostNames = $Data[$i].Comments -split "`r?`n"
#Set Vulnerability Column Variable
[string]$VulnerabilityDesc = $Data[$i].'Vulnerability Description'
#Remove the Hostnames from Vulnerability Cells
foreach ($HostName in $HostNames) {
$VulnerabilityDesc = $VulnerabilityDesc.Replace($HostName, "")
}
$VulnerabilityDesc = $VulnerabilityDesc.Replace("Devices Affected", "")
$VulnerabilityDesc = $VulnerabilityDesc.TrimEnd()
$Data[$i].'Vulnerability Description' = $VulnerabilityDes
# Filter out unwanted ones
$HostNames = $HostNames |Where-Object {$_ -notin $PendingRemoval}
# Update original row
$Data[$i].Comments = $HostNames -join [System.Environment]::NewLine
$Data[$i].'Total Devices' = $HostNames.Length
}
# Export it to same csv
$Data | Export-Csv .\New.csv -NoTypeInformation
友情提示:我已經向您展示瞭如何現在,但是學習如何格式化您的問題和代碼示例將是在我們的網站上學習的好東西:http://stackoverflow.com/editing-help - 您的CSV示例也有點混亂,我不知道在哪些列下哪些值應該生存。 – Kev
好的我會記住這一點 – ShanayL