Thank you @Rich Matheisen
I am still getting same error as before. Below is my script:
$Source = "https://home.treasury.gov/resource-center/data-chart-center/interest-rates/daily-treasury-rates.csv/all/all?type=daily_treasury_yield_curve&field_tdr_date_value=all&page&_format=csv"
$DestinationTemp1 = "C:\Users\Me\Discount_Rates\ratestemp1.csv"
$DestinationTemp2 = "C:\Users\Me\Discount_Rates\ratestemp2.csv"
$Destination = "C:\Users\Me\Discount_Rates\rates.csv"
Invoke-WebRequest -Uri $source -OutFile $DestinationTemp1
$oneshot = $true
Import-Csv $DestinationTemp1 |
ForEach-Object {
if ($oneshot){
$oneshot = $false
"QUOTE_DATE,RATE_MONTH_1,RATE_MONTH_2,RATE_MONTH_3" # header
}
"{0},{1},{2},{3}" -f ([datetime]::ParseExact($_.Date, "M/d/yyyy", $null)).ToShortDateString(), $_."1 Mo", $_."2 Mo", $_."3 Mo"
} | Out-File $DestinationTemp2 -Encoding Utf8
Get-Content $DestinationTemp2 -Encoding UTF8 | ForEach-Object {$_ -replace '"',''} | Out-File $Destination -Encoding UTF8
Remove-Item $DestinationTemp1
Remove-Item $DestinationTemp2
I see that the Date is getting converted but I don't see the 1Mo 2Mo 3Mo getting converted to decimal. Shouldn't this be stated explictly?