2012-05-14 30 views
5

Mam CSV, który jest podobny do tegoodlewania kolumny z pliku CSV jak data PowerShell

"fundName","MMFcusip","ticker","AsOfDate","SumHoldingPercent" 
"BlackRock OH Muni MMP/Instit","'091927236'","COIXX","2/29/2012 12:00:00 AM","100.00000000200" 
"Western Asset Inst US Treas Res","'52470G841'","CIIXX","2/29/2012 12:00:00 AM","100.00000000200" 

Korzystanie PowerShell, jak mogę rzucić „asOfDate” jako data/czas podczas korzystania z polecenia import-CSV?

EDIT: to jest linia kodu, który mam obecnie pracuje z

$measuredDate = $today.AddDays(-21) 
$staleDates = Import-Csv d:\path\file.csv | Foreach-Object {$_.AsOfDate = Get-Date $_.AsOfDate} | Where-Object {asOfDate -lt $measuredDate} | Measure-Object 
+0

Dlaczego nie rzucić go, kiedy będziesz używać wartości zamiast tego, że podczas importu CSV? –

+0

To też będzie działało dobrze, chociaż uważam, że nadal nie jestem pewien, jak bym to zrobił! Po prostu muszę porównać tę datę, z tą zapisaną w zmiennej, aby sprawdzić, czy jest starsza niż ta w zmiennej – mhopkins321

Odpowiedz

5
Import-Csv file.csv | 
Where-Object { ![string]::IsNullOrWhiteSpace($_.AsOfDate) } | 
Foreach-Object { 
    $_.AsOfDate = $_.AsOfDate -as [datetime] 
    $_ 
} 
+0

wprowadziła tę zmianę do skryptu i otrzymała mnóstwo błędów z powodu niektórych wierszy mających wartość null ("") asOfDates. Masz pomysł, jak to naprawić? – mhopkins321

+0

Tak, zaktualizuję swoją odpowiedź za minutę. –

+0

Zmieniłem także mój oryginalny wpis, aby pokazać dokładną linię kodu, z którą obecnie pracuję. dzięki za pomoc! – mhopkins321

Powiązane problemy