2012-05-21 2 views
0

Итак, вот предыстория, я пытаюсь проверить данные несколькими способами. Я запросил базу данных и экспортировал эти данные в csv.Комбинирование файлов CSV powershell

Затем с помощью PowerShell Я запустить следующие команды

$staleDates = Import-Csv DataAudit.csv | Where-Object { $_.asOfDate -ne "" } | Foreach-Object { $_.AsOfDate = $_.AsOfDate -as [datetime]; $_ } | Where-Object {$_.asOfDate -lt $measuredDate} 

$nullDates = Import-Csv DataAudit.csv | Where-Object {$_.asOfDate -eq ""} 

$percentTooLarge = Import-Csv DataAudit.csv | Foreach-Object { $_.SumHoldingPercent = $_.SumHoldingPercent -as [float]; $_ } | Where-Object { $_.SumHoldingPercent -gt 100 } 

$percentTooSmall = Import-Csv DataAudit.csv | Where-Object {$_.SumHoldingPercent -ne "" } | Foreach-Object { $_.SumHoldingPercent = $_.SumHoldingPercent -as [float]; $_ } | Where-Object {$_.SumHoldingPercent -lt 99.99999 } 

Есть ли способ, что я могу объединить результаты из этих 4-х переменных в один файл CSV, что я могу затем отправить в качестве отчета о неверных данных ?

также, я использую Powershell v1.0

ответ

2

Следующая должно работать:

$badData = Import-Csv DataAudit.csv | Where-Object { $_.asOfDate -ne "" } | Foreach-Object { $_.AsOfDate = $_.AsOfDate -as [datetime]; $_ } | Where-Object {$_.asOfDate -lt $measuredDate} 
$badData += Import-Csv DataAudit.csv | Where-Object {$_.asOfDate -eq ""} 
$badData += Import-Csv DataAudit.csv | Foreach-Object { $_.SumHoldingPercent = $_.SumHoldingPercent -as [float]; $_ } | Where-Object { $_.SumHoldingPercent -gt 100 } 
$badData += Import-Csv DataAudit.csv | Where-Object {$_.SumHoldingPercent -ne "" } | Foreach-Object { $_.SumHoldingPercent = $_.SumHoldingPercent -as [float]; $_ } | Where-Object {$_.SumHoldingPercent -lt 99.99999 } 

$badData | Export-CSV -NoTypeInformation -Path allBadData.csv 
+0

В настоящее время я получаю ошибку «Export-CSV: Невозможно привязать аргумент parament 'InputObject' потому, что он имеет значение null. Это имеет смысл, поскольку это используется для специфического целевого значения нулей. Как я могу это исправить? – mhopkins321

+0

Это говорит о том, что $ badData не имеет значения. Если вы говорите, что это ожидалось, поймать это. If ($ badData -eq $ null) {Write-Host No Bad Data. Woohoo.} Else {$ badData | Export-Csv ....} –

Смежные вопросы