相关疑难解决方法(0)

如何在Perl中打印哈希结构?

例子:

%hash = (2010 => 21, 2009=> 9);

$hash = {
    a => {
        0 => {test => 1},
        1 => {test => 2},
        2 => {test => 3},
        3 => {test => 4},
    },
};
Run Code Online (Sandbox Code Playgroud)

如何打印哈希?

perl hash

5
推荐指数
2
解决办法
1万
查看次数

Perl:在复杂哈希中生成数组

为了使我的数据更易于访问,我想将表格数据存储在复杂的哈希中.当脚本循环遍历我的数据时,我正在尝试增加'HoHoHoA'.根据'perldsc'中的指南:

push @ { $hash{$column[$i]}{$date}{$hour} }, $data[$i];
Run Code Online (Sandbox Code Playgroud)

该脚本编译并运行没有问题,但不会向哈希添加任何数据:

print $hash{"Frequency Min"}{"09/07/08"}{"15"}; 
Run Code Online (Sandbox Code Playgroud)

即使密钥应该存在,也不返回任何内容.在哈希上运行'exists'表示它不存在.

我正在阅读的数据文件如下所示:

DATE       TIME     COLUMN1 COLUMN2 COLUMN3...    
09/06/2008 06:12:56 56.23   54.23   56.35...
09/06/2008 06:42:56 56.73   55.28   54.52...
09/06/2008 07:12:56 57.31   56.79   56.41...
09/06/2008 07:42:56 58.24   57.30   58.86...
.
.
.
Run Code Online (Sandbox Code Playgroud)

我希望将任何给定日期和小时的数组中每列的值组合在一起,因此{COLUMN},{DATE}和{HOUR}的三个哈希值.

结果结构如下所示:

%monthData = (
               "COLUMN1" => {
                                    "09/06/2008" => {
                                                      "06" => [56.23,56.73...],
                                                      "07" => [57.31,58.24...]
                                                    }
                            },
               "COLUMN2" => {
                                    "09/06/2008" => {
                                                      "06" => [54.23,55.28...],
                                                      "07" => [56.79,57.30...]
                                                    }
                            },
               "COLUMN3" => {
                                    "09/06/2008" => { …
Run Code Online (Sandbox Code Playgroud)

perl perl-data-structures

1
推荐指数
1
解决办法
2872
查看次数

标签 统计

perl ×2

hash ×1

perl-data-structures ×1