Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 满足你的新要求。它与您提供的数据的唯一区别是ID 35;和相应的数据被排序到第一列。它应该能在你的真实文件中正常工作。谢谢你的帮助。在您的输入和一些时间测试之间,我已经能够让它工作;非常感谢!目标是将脚本打包为一个独立的应用程序。我已经为我们使用的其他四个_Perl_Sorting_Hash - Fatal编程技术网

Perl 满足你的新要求。它与您提供的数据的唯一区别是ID 35;和相应的数据被排序到第一列。它应该能在你的真实文件中正常工作。谢谢你的帮助。在您的输入和一些时间测试之间,我已经能够让它工作;非常感谢!目标是将脚本打包为一个独立的应用程序。我已经为我们使用的其他四个

Perl 满足你的新要求。它与您提供的数据的唯一区别是ID 35;和相应的数据被排序到第一列。它应该能在你的真实文件中正常工作。谢谢你的帮助。在您的输入和一些时间测试之间,我已经能够让它工作;非常感谢!目标是将脚本打包为一个独立的应用程序。我已经为我们使用的其他四个,perl,sorting,hash,Perl,Sorting,Hash,满足你的新要求。它与您提供的数据的唯一区别是ID 35;和相应的数据被排序到第一列。它应该能在你的真实文件中正常工作。谢谢你的帮助。在您的输入和一些时间测试之间,我已经能够让它工作;非常感谢!目标是将脚本打包为一个独立的应用程序。我已经为我们使用的其他四个数据收集系统做了这项工作。在数据库中设置它会阻止此.DB_文件包,提供“btree(File)as hash”是否可以接受?它将为您提供密钥排序哈希。 Start,Date,Time0 Subject,ID1,ID2,[...],ID# Da


满足你的新要求。它与您提供的数据的唯一区别是
ID 35;
和相应的数据被排序到第一列。它应该能在你的真实文件中正常工作。谢谢你的帮助。在您的输入和一些时间测试之间,我已经能够让它工作;非常感谢!目标是将脚本打包为一个独立的应用程序。我已经为我们使用的其他四个数据收集系统做了这项工作。在数据库中设置它会阻止此.DB_文件包,提供“btree(File)as hash”是否可以接受?它将为您提供密钥排序哈希。
Start,Date,Time0
Subject,ID1,ID2,[...],ID#

Date,Time1
Data1,aa1,aa2,[...],aa#
Data2,ba1,ba2,[...],ba#
Data3,ca1,ca2,[...],ca#
Data4,da1,da2,[...],da#

Date,Time2
Data1,ab1,ab2,[...],ab#
Data2,bb1,bb2,[...],bb#
Data3,cb1,cb2,[...],cb#
Data4,db1,db2,[...],db#
Data1,Subject,ID1,ID2,[...],ID#
Date,Time1,aa1,aa2,[...],aa#
Date,Time2,ab1,ab2,[...],ab#
...

Data2,Subject,ID1,ID2,[...],ID#
Date,Time1,ba1,ba2,[...],ba#
Date,Time2,bb1,bb2,[...],bb#
...
my ($datatype, @fields) = @line;
push @keys, $datatype unless exists $data{$datatype};
my $datetime = "$date\,$time";
push @timestamps, $datetime unless exists $data{$datetime};
for my $i ( 0 .. $#fields) {
    push @{$data{$datetime}{$ids[$i]}}=>$fields[$i]
    };
    foreach my $date (keys %data) {
    print OUT $date;
    foreach my $id (@ids) {
        foreach my $s (keys %{$data{$date}}) {
            if ( exists($data{$date}{$id}) ) {
                print OUT ",", $data{$date}{$id}
                }
            else {
                print OUT ",";
                }
            }
        }
    print OUT "\n"; # close printing on a given date
    }
$VAR1 = {
    'date,time' => [
                    'ID1' => [
                            '0.00'
                            ]
                    'ID2' => [
                            '0.12',
                            ]
                    'ID3' => [
                            '0.17',
                            ]
                    'ID4' => [
                            '0.22',
                            ]
                    ]
            }
    };
date,time,ARRAY(0x7f91c1030f60),ARRAY(0x7f91c1030f60),ARRAY(0x7f91c1030f60),ARRAY(0x7f91c1030f60)
use strict;
use warnings;

my ($subject, @ids);
my @sort_order;
my (%data, @keys);

my ($file) = @ARGV;
$file //= 'data.csv';

open my $fh, '<', $file or die qq{Unable to open file "$file" for reading: $!};
local $/ = '';
while (<$fh>) {

  my @rows = split /\n/;

  unless ($subject) {
    ($subject, @ids) = split /,/, $rows[1];
    @sort_order = sort { $ids[$a] cmp $ids[$b] } 0 .. $#ids;
    next;
  }

  my ($date, $time) = split /,/, shift @rows;
  for (@rows) {
    my ($id, @fields) = split /,/;
    push @keys, $id unless exists $data{$id};
    push @{ $data{$id} }, [$date, $time, @fields[@sort_order]];
  }
}

for my $key (@keys) {
  print join(',', $key, $subject, @ids[@sort_order]), "\n";
  print join(',', @$_), "\n" for @{ $data{$key} };
  print "\n";
}
Data1,Subject,ID#,ID1,ID2,[...]
Date,Time1,aa#,aa1,aa2,[...]
Date,Time2,ab#,ab1,ab2,[...]

Data2,Subject,ID#,ID1,ID2,[...]
Date,Time1,ba#,ba1,ba2,[...]
Date,Time2,bb#,bb1,bb2,[...]

Data3,Subject,ID#,ID1,ID2,[...]
Date,Time1,ca#,ca1,ca2,[...]
Date,Time2,cb#,cb1,cb2,[...]

Data4,Subject,ID#,ID1,ID2,[...]
Date,Time1,da#,da1,da2,[...]
Date,Time2,db#,db1,db2,[...]