ファイルテキストを解析してからハッシュに入れたいと思います。私のファイルは次のようになります:
key1 val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,
val,val,val,val
key2 val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,
val,val,val,val
key3 val
key4 val,val
key5 val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,
val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,val,
val,val,val,val,val,val,val,val,val,val,val,val,val,val,val
キーはスペースの前にあり、値はスペースの後と各コンマの前の要素のリストです。値が数行続くため、キーがない行がいくつかあります。
だから私はそのようなハッシュが欲しいです(私はPythonに最も精通しています):
hash={'key1':[val,val,...],'key2':[val,val,...]}
私のコード: `
my %hashNames;
open INFILE, "./file.txt" or die $!;
my @temp = ();
while (my $line = <INFILE>)
{
my @names = split /[\t,]/, $line;
my $ID = $names[0];
if ( $line =~ /\t/ )
{
my @temp=();
for (my $i = 1; $i < @names; $i +=1)
{
push (@temp, $names[$i]);
}
}
else
{
for (my $i = 0; $i < @names; $i +=1)
{
push (@temp, $names[$i]);
}
}
}`