Я работаю с таблицей Excel, чтобы извлечь два столбца и заменить имена файлов на их основе.
Вот так я получаю значения двух интересующих меня столбцов. 14-й столбец может быть одним или несколькими значениями, разделенными запятой.
my @required = (2,14);
my @value;
my @files = grep{ -f && -T && -M > 0 } glob("$dir/*");
my @expected_file = grep{ /Parsed/ } @files;
print "@expected_file\n";
if(! $workbook) {
die $parser->error(),"\n";
}
for my $row (1 .. $row_max) {
@value = map{
my $cell = $worksheets[0]->get_cell($row,$_);
$cell ? $cell->value() : '';
}@required;
my %hash_value = @value;
foreach my $key (keys %hash_value ){
my @suffix = split /[, ]/,$hash_value{$key};
push @{ $resample->{$key} },@suffix;
print $key . ":" .@suffix,"\n";
}
}
Вывод будетбыть:
TY45745a:A,BTY45745a:C,DTY45745a:E,FTY5475a:G,HTY5475a:I,JTY5475a:K,L
Где TY45745a, TY5475a являются ключами. Чего я хотел бы достичь, это примерно так: TY45745a A, B, C, D, E, F и TY5475a G, H, I,J, K, L.
И если имена файлов имеют [AE] в конце файла, то его следует переименовать в TY45745a [1..6], а если он имеет [GL] TY5475a [1..6].
Может ли эта группировка суффикса для имени выполняться при извлечении из листа Excel?
Как мне это сделать?Любые предложения или указатели будут полезны.