将 csv 导入为具有 2 个键的哈希表
import csv as a hashtable with 2 keys
我有一个 table,行数和列数相等
Groups
A
B
C
D
A
1
0
0
0
B
0
1
0
0
C
0
0
3
0
D
0
0
1
2
我想将它导入某种类型的变量,$h[C].C 的输出等于 3。
我厌倦了一个简单的导入命令,但是这种格式让我很难将它输入到散列中table。 hashtable 也是最好的格式吗?
您可以使用 Import-Csv
获取 PsCustomObjects 数组并将其转换为嵌套哈希表,例如。
我在这里使用的是字符串示例,但在现实生活中你会这样做 Import-Csv -Path 'X:\WhereEver\theTable.csv'
$data = @"
Groups,A,B,C,D
A,1,0,0,0
B,0,1,0,0
C,0,0,3,0
D,0,0,1,2
"@ | ConvertFrom-Csv
$h = @{}
$data | ForEach-Object {
$props = @{}
$_.PsObject.Properties | Where-Object { $_.Name -ne 'Groups' } | ForEach-Object{ $props[$_.Name] = $_.Value }
$h[$_.Groups] = $props
}
$h['C'].C # --> 3
我有一个 table,行数和列数相等
Groups | A | B | C | D |
---|---|---|---|---|
A | 1 | 0 | 0 | 0 |
B | 0 | 1 | 0 | 0 |
C | 0 | 0 | 3 | 0 |
D | 0 | 0 | 1 | 2 |
我想将它导入某种类型的变量,$h[C].C 的输出等于 3。
我厌倦了一个简单的导入命令,但是这种格式让我很难将它输入到散列中table。 hashtable 也是最好的格式吗?
您可以使用 Import-Csv
获取 PsCustomObjects 数组并将其转换为嵌套哈希表,例如。
我在这里使用的是字符串示例,但在现实生活中你会这样做 Import-Csv -Path 'X:\WhereEver\theTable.csv'
$data = @"
Groups,A,B,C,D
A,1,0,0,0
B,0,1,0,0
C,0,0,3,0
D,0,0,1,2
"@ | ConvertFrom-Csv
$h = @{}
$data | ForEach-Object {
$props = @{}
$_.PsObject.Properties | Where-Object { $_.Name -ne 'Groups' } | ForEach-Object{ $props[$_.Name] = $_.Value }
$h[$_.Groups] = $props
}
$h['C'].C # --> 3