1
我正在使用Excel工作表来获取两列并根据它们替换文件名。使用电子表格:: ParseExcel
这就是我如何得到我感兴趣的两列的值。第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 . ":" [email protected],"\n";
}
}
输出将是:
TY45745a:A,BTY45745a:C,DTY45745a:E,FTY5475a:G,HTY5475a:I,JTY5475a:K,L
凡TY45745a,TY5475a是我想达到keys.What是这样的:TY45745a A,B,C,d,E,F和TY5475a G,H,I,J,K,L。
如果文件名后面有[A-E],那么它应该重命名为TY45745a [1..6],如果它有[G-L] TY5475a [1..6]。
从Excel工作表读取时,是否可以完成名称的后缀分组?
我该怎么做?任何建议或指针都会有所帮助。
这个问题实际上与Spreadsheet :: ParseExcel没有任何关系。您似乎只需要将您正在读取的数据从一种格式转换为另一种格式。如果你只是用你想要实现的翻译来表达这个问题,而忽略所有的Excel代码,那可能会更好。 – jmcnamara
如果您希望其他人能够真正尝试运行您的脚本以帮助您*,请不要在代码清单中包含行号。 –