2012-05-14 26 views
5

Tôi có một csv đó là tương tự như sauđúc cột từ csv như ngày 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" 

Sử dụng PowerShell, làm thế nào tôi có thể cast "asOfDate" như một ngày/giờ khi sử dụng cmdlet nhập csv?

EDIT: đây là dòng mã mà tôi hiện đang làm việc với

$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

Tại sao không quăng nó khi bạn sẽ sử dụng các giá trị thay vì rằng trong xuất nhập csv? –

+0

Điều đó cũng sẽ hoạt động tốt, mặc dù tôi tin rằng tôi vẫn không chắc chắn làm thế nào tôi sẽ làm điều đó! Tôi chỉ cần so sánh ngày này, với một biến được lưu trữ trong một biến để xem nó có lớn hơn biến trong biến – mhopkins321

Trả lời

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

thực hiện thay đổi này đối với tập lệnh và có một loạt lỗi do một số hàng có null ("") asOfDates hay không. Bất cứ ý tưởng làm thế nào để khắc phục điều đó? – mhopkins321

+0

Có, tôi sẽ cập nhật câu trả lời của tôi sau một phút. –

+0

Tôi cũng đã chỉnh sửa bài đăng gốc của mình để hiển thị dòng mã chính xác mà tôi hiện đang làm việc. cảm ơn đã giúp đỡ! – mhopkins321

Các vấn đề liên quan