【问题标题】:Import plain-multidimensional array from TSV-File从 TSV 文件导入纯多维数组
【发布时间】:2012-12-18 16:33:46
【问题描述】:

如何从制表符分隔的文件中导入多维数组?

  1. 该文件没有标题,它可能有一个空白或虚拟的第一行。
  2. 应该创建一个简单的数组并且不是一个哈希表。

TSV 文件:

-- 空/不相关的第一行
"X" "0" "A"
"Y" "1" "B"

这样:array[0][0] = "X" & array[1][2] = "B"

【问题讨论】:

    标签: file powershell multidimensional-array tsv


    【解决方案1】:
    $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[$_]}
    

    【讨论】:

    • 谢谢!您在 line:6 中关于 , 的注释是关键。
    • 如果您将$array+= ,@( $elements[0],$elements[1],$elements[2]) 更改为$array += ,$elements 它应该适用于所有元素(不仅仅是三个)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2022-11-04
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多