【发布时间】:2012-12-18 16:33:46
【问题描述】:
如何从制表符分隔的文件中导入多维数组?
- 该文件没有标题,它可能有一个空白或虚拟的第一行。
- 应该创建一个简单的数组并且不是一个哈希表。
TSV 文件:
-- 空/不相关的第一行
"X" "0" "A""Y" "1" "B"
这样:array[0][0] = "X" & array[1][2] = "B"
【问题讨论】:
标签: file powershell multidimensional-array tsv
如何从制表符分隔的文件中导入多维数组?
TSV 文件:
-- 空/不相关的第一行
"X" "0" "A""Y" "1" "B"
这样:array[0][0] = "X" & array[1][2] = "B"
【问题讨论】:
标签: file powershell multidimensional-array tsv
$m=gc c:\temp\matrix.txt
$array=@()
$m | Foreach{
$elements=$_.split("`t")
$array+= ,@( $elements[0],$elements[1],$elements[2])
}
$array[0][0]
$array[1][2]
注意逗号(第 6 行)强制 powershell 将添加的行视为数组
要忽略第一行,你可以这样做
$matrix=""
(1..($m.count-1)) | foreach{ $matrix+=$m[$_]}
【讨论】:
, 的注释是关键。
$array+= ,@( $elements[0],$elements[1],$elements[2]) 更改为$array += ,$elements 它应该适用于所有元素(不仅仅是三个)。