I have a csv file with a header row and I want to convert it to a Hashtable.
For example, this is my input:
#Version1.0
#Fields:ID,Data
1,data1
2,data2
3,data3
I want the output to be a hashtable where Key=ID and Value =Data.
This is what I have, but the results aren't quite what I want.
$mytable = Import-Csv -Path $filePath -Header ID,Data
$HashTable=@{}
foreach($r in $mytable)
{
$HashTable[$r.ID]=$r.Data
}
This creates my table, but when I output it later via $str = $Hashtable | Out-String Write-Host $str
I'm getting the following:
Name Value
-------- -----------
#Fields:ID Data
1 data1
2 data2
3 data3
How do I get rid of the Headers being written to my hashtable? Is there a more elegant solution than sticking if ($r.ID.StartsWith("#")) { continue; }?
Thanks! -C